1
0
Fork 0
Commit Graph

78 Commits

Author SHA1 Message Date
kobewi 242293c451 Remove registration of deprecated classes 2025-05-05 20:16:50 +02:00
hamid 82e23da12e Add drag zoom feature with CTRL+MiddleMouseButton
This change introduces a DragType enum to scene/gui/view_panner.cpp of
dragging, which includes:

- DRAG_TYPE_NONE: Not dragging
- DRAG_TYPE_PAN: Panning (dragging using MMB)
- DRAG_TYPE_ZOOM: Zooming (dragging using CTRL+MMB)

The goal of this change is the third option, which was already available
in 3D viewport but not in 2D. This feature should work in other editors
as well such as Animation Track Editor and Visual Shader Editor and so
on.
2025-05-01 15:15:44 +03:30
Pāvels Nadtočajevs 5b49fd4207
Selectively apply `FOCUS_ACCESSIBILITY` to the `Label`s instead of setting it by default. 2025-04-23 12:47:31 +03:00
Pāvels Nadtočajevs 302fa831cc
Initial editor accessibility. 2025-04-08 20:25:48 +03:00
A Thousand Ships a1846b27ea
Improve use of `Ref.is_null/valid`
Use `is_null` over `!is_valid` and vice versa.
2024-12-23 16:35:02 -05:00
Thaddeus Crews 98c3138804
Merge pull request #92717 from KoBeWi/twisted_frying_pan
Add warped panning to every ViewPanner instance
2024-12-23 11:15:16 -06:00
Yufeng Ying f241c1fda0 Remove unused header in editor.
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
2024-12-24 00:40:38 +08:00
kobewi 9a96393f46 Add warped panning to every ViewPanner instance 2024-12-20 17:40:27 +01:00
Markus Sauermann 4887172a59 Fix `ViewPanner` panning mouse warp
Currently the mouse cursor jumps in unexpected ways, when a `ViewPanner`
is used in SubViewports or embedded Windows.

This is caused by providing wrong coordinate systems to
Input::warp_mouse_motion.

This PR replaces the use of `Input::warp_mouse_motion` with
`Viewport::wrap_mouse_in_rect` and makes sure, that the correct
coordinate systems are used.

This change makes it necessary, that all classes, that currently
use ViewPanner, need to provide the correct Viewport to ViewPanner.
2024-12-20 00:28:49 +01:00
Thaddeus Crews 696ca9db3c
Merge pull request #98039 from aaronfranke/button-icon
Rename internal Button `*_icon` functions to `*_button_icon` to match exposed methods
2024-10-29 19:25:59 -05:00
Aaron Franke 562c666e3d
Rename internal Button icon to button_icon to match exposed methods 2024-10-29 16:23:03 -07:00
Adam Scott 0d350e7108
Set clang-format `RemoveSemicolon` rule to `true`
- Set clang-format `Standard` rule to `c++20`
2024-10-25 13:49:43 -04:00
kleonc 6895f6f8cc Fix TileAtlasView bounds checks for transposed tiles 2024-08-09 19:26:02 +02:00
alula e591bb0288
Make texture filtering in TileAtlasView consistent
Co-authored-by: Gilles Roudière <gilles.roudiere@gmail.com>
2024-06-17 16:56:32 +02:00
A Thousand Ships f9901761be
[Editor] Fix crash when editing TileMap 2024-05-27 15:22:37 +02:00
kobewi 6559bb68e6 Remove some TileMap dependencies from TileMapLayer 2024-05-21 11:32:14 +02:00
A Thousand Ships ee79386f7b
[Scene] Add SceneStringNames::pressed 2024-05-14 15:51:28 +02:00
kobewi 413c11357d Use Core/Scene stringnames consistently 2024-05-13 23:41:07 +02:00
A Thousand Ships 79ba22a73f
Use `Vector*` component-wise `min/max/clamp` functions where applicable 2024-03-20 13:47:42 +01:00
kobewi a031911c82 Use check_changed_settings_in_group() everywhere 2024-02-19 21:34:45 +01:00
Yuri Sizov 95b27fe8c7 Reorganize code related to editor theming
This change introduces a new EditorThemeManager class
to abstract theme generatio and its subroutines.

Logic related to EditorTheme, EditorColorMap, and editor
icons has been extracted into their respective files with
includes cleaned up.

All related files have been moved to a separate folder to
better scope them in the project. This includes relevant
generated files as well.
2024-01-16 11:57:45 +01:00
MewPurPur 44d782681c Incorporate min and max zoom limits into the EditorZoomWidget 2023-10-07 20:41:59 +03:00
kobewi 6de34fde27 Add EditorStringNames singleton 2023-09-03 19:58:18 +02:00
kobewi a88e3b8604 Improve scene tiles workflow 2023-08-18 13:55:30 +02:00
Haoyu Qiu ac36776729 Fix tile resizing towards atlas boundary 2023-06-20 00:36:37 +08:00
kobewi 16ac217aa0 Draw materials in tile atlas view 2023-06-07 01:03:55 +02:00
ProbablyWorks 882ffdfaae set the grow direction of the center view button after setting the anchors 2023-06-01 21:44:16 -04:00
Yuri Sizov 9e6b680cfb
Merge pull request #74814 from kleonc/tilemap-fix-rendering-odd-sized-tiles
`TileMap` Fix rendering odd-sized tiles
2023-04-18 16:27:44 +02:00
Yuri Sizov 9b500ab53c Fix premature theme item access in editor tools 2023-04-03 18:01:11 +02:00
kleonc c49a7feae3 TileMap Fix rendering odd-sized tiles 2023-03-12 16:20:38 +01:00
kobewi be6d5bbba6 Fix some TileMap errors and crashes 2023-02-14 00:39:41 +01:00
Rémi Verschelde 525db733c8
Merge pull request #72129 from groud/unclamp_texture_origin
Rename texture_offset and unclamp it
2023-01-27 15:40:52 +01:00
Gilles Roudière d7f3bd50bd Rename texture_offset and unclamp it 2023-01-27 11:04:45 +01:00
Gilles Roudière a3b431b09d Add gesture to ViewPanner and simplify a bit its API 2023-01-23 16:43:53 +01:00
Gilles Roudière 6285d6e5f5 Fixes rectangle painting when dragging outside the atlas area 2023-01-17 10:30:07 +01:00
kleonc 4276752608 TileAtlasView Update zoom and panning before emitting signal 2023-01-05 22:00:05 +01:00
Rémi Verschelde d95794ec8a
One Copyright Update to rule them all
As many open source projects have started doing it, we're removing the
current year from the copyright notice, so that we don't need to bump
it every year.

It seems like only the first year of publication is technically
relevant for copyright notices, and even that seems to be something
that many companies stopped listing altogether (in a version controlled
codebase, the commits are a much better source of date of publication
than a hardcoded copyright statement).

We also now list Godot Engine contributors first as we're collectively
the current maintainers of the project, and we clarify that the
"exclusive" copyright of the co-founders covers the timespan before
opensourcing (their further contributions are included as part of Godot
Engine contributors).

Also fixed "cf." Frenchism - it's meant as "refer to / see".
2023-01-05 13:25:55 +01:00
clayjohn 3c1e5003ab Fix pathological corner case in drawing tileset editor
Interleaving draw_rect calls with and without a texture forces every rect to
have its own draw call. In this case it meant that there is a draw call for every single
tile in the atlas. This change makes it so the renderer can batch draw calls
which reduced the draw call count by a factor of 512
2022-11-04 13:04:20 -07:00
kobewi e48c5daddf Unify usage of GLOBAL/EDITOR_GET 2022-10-18 19:01:48 +02:00
Eric M 16a3cec71e Fix zoom in/out keyboard shortcuts not working since the introduction of EditorZoomWidget. Add KP shortcuts to zoom in/out. 2022-09-24 18:24:59 +10:00
MinusKube 0ff2020bd4 Fix atlas view drawing roots having zoom applied twice 2022-09-17 19:07:56 +02:00
Jonathan Nicholl 15d057c521 Add `is_zero_approx` methods to `Vector2`, `3`, and `4` 2022-09-02 00:29:50 -04:00
Micky e31bb5ffeb Rename `CanvasItem.update()` to `queue_redraw()`
Affects a lot of classes. Very thoroughly checked signal connections and deferred calls to this method, add_do_method/add_undo_method calls, and so on.

Also renames the internal `_update_callback()` to `_redraw_callback()` for consistency.

Just a few comments have also been changed to say "redraw".

In CPUParticles2D, there was a private variable with the same name. It has been renamed to `do_redraw`.
2022-08-29 14:59:47 +02:00
Micky ef5b9a06a9 Rename `hint_tooltip` to `tooltip_text` & setget
`hint_tooltip` -> `tooltip_text`
`set_tooltip` -> `set_tooltip_text`
`_get_tooltip` -> `get_tooltip_text`

Updates documentation, too.
2022-08-27 01:35:01 +02:00
MinusKube d71b02cd19 Fix tileset image and background sometimes disappearing 2022-08-25 16:18:39 +02:00
FireForge 97dfbea6ad Rename Control PRESET_WIDE to PRESET_FULL_RECT 2022-07-18 20:08:11 -05:00
reduz 746dddc067 Replace most uses of Map by HashMap
* Map is unnecessary and inefficient in almost every case.
* Replaced by the new HashMap.
* Renamed Map to RBMap and Set to RBSet for cases that still make sense
  (order matters) but use is discouraged.

There were very few cases where replacing by HashMap was undesired because
keeping the key order was intended.
I tried to keep those (as RBMap) as much as possible, but might have missed
some. Review appreciated!
2022-05-16 10:37:48 +02:00
bruvzg de4c97758a
Fix more issues found by cppcheck. 2022-04-20 10:34:00 +03:00
Jakob Bouchard 6553f5c242
Convert _notification methods to switch - Chunk C 2022-02-16 13:03:05 -05:00
Rémi Verschelde 6d708dfd6a
Merge pull request #57329 from Ev01/tileset-editor-minimum-zoom 2022-02-15 14:20:22 +01:00