summaryrefslogtreecommitdiff
path: root/scene/main/window.cpp
AgeCommit message (Collapse)Author
2021-08-23Entirely removes BIND_VMETHOD in favor of GDVIRTUALreduz
* `_gui_input`, `_input`, `_unhandled_input` and `_unhandled_key_input` are now regular C++ virutal functions. * Everything else converted to GDVIRTUAL * BIND_VMETHOD is gone, always use the new syntax from now on. Creating `_gui_input` method and using the binder to register events will no longer work, simply override the virtual function now.
2021-08-17fix bug on window notification propagationJihyun Yu
2021-08-13Fix some unnecessary includesAaron Franke
2021-07-29Add `auto_translate` toggle for automatic translationMichael Alexsander
2021-07-27Multiple cosmetic fixes for embedded windowsMichael Alexsander
2021-07-25Use const references where possible for List range iteratorsRémi Verschelde
2021-07-23Use C++ iterators for Lists in many situationsAaron Franke
2021-07-20Editor StringName and Viewport optimizationsJoan Fons
* Added explicit return type to the SNAME macro. * Add some extra SNAME usages. * Change some ClassDB methods to use const StringName & arguments. * Cache the Window parent in Control because it's used in is_layout_rtl(), which is called often. * Only enable internal processing for viewports that need it. * Change CanvasItem::group to be a StringName because it's only used as that.
2021-07-18Optimize StringName usagereduz
* Added a new macro SNAME() that constructs and caches a local stringname. * Subsequent usages use the cached version. * Since these use a global static variable, a second refcounter of static usages need to be kept for cleanup time. * Replaced all theme usages by this new macro. * Replace all signal emission usages by this new macro. * Replace all call_deferred usages by this new macro. This is part of ongoing work to optimize GUI and the editor.
2021-07-13Merge pull request #50299 from YeldhamDev/window_wrap_controls_fixRémi Verschelde
Fix `Window`'s `wrap_controls` not actually doing anything
2021-07-13Add type variations to ThemeYuri Sizov
2021-07-08Fix `Window`'s `wrap_controls` not actually doing anythingMichael Alexsander
2021-07-06Restructure and reimplement vsync optionsHendrik Brucker
-Add a v-sync mode setting which allows to choose between DISABLED, ON, ADAPTIVE and MAILBOX -Removed the V-Sync via Compositor option
2021-07-02Expose `Window.get_contents_minimum_size()` to scriptsMichael Alexsander
2021-05-25Tweak dozens of editor property hints for consistencyHugo Locurcio
- Update Viewport MSAA property hints to match the currently exposed values. - Add some performance hints to property hints.
2021-05-17Add theme_custom_type property to Control and WindowYuri Sizov
2021-03-23Merge pull request #46735 from fabriceci/fix-dialog-translationRémi Verschelde
Fix translations update in window & Dialogs (AcceptDialog/ConfirmationDialog/FileDialog) (Fix 39320, 39258 & 45887)
2021-03-22Improved 3D Scene ImporterJuan Linietsky
* Added option for importers to show an Advanced settings dialog * Created advanced settings dialog for Scene Importer * Cleaned up importers (remove many old/unused options) * Added the ability to customize every node, material, mesh and animation individually * Saving to animations and meshes to files is now a manual process, making it more predictable * Added the ability for materials to be replaced by external files (or to be made external, up to you). * When doubleclicking an impoted scene in the filesystem dock, it automatically shows the import settings instead of asking to open it. WARNING: Lightmap UV unwrap is not working, it needs to be re-made.
2021-03-12fix translation not updating in ConfirmationDialog (and Window by inheritance)fabriceci
2021-03-05Merge pull request #46516 from HaSa1002/scrollcontainer-embedRémi Verschelde
Fix Window returning `INVALID_WINDOW_ID` when being embedded
2021-03-01Fix Window.get_window_id() returning -1 when embeddedJohannes
2021-02-28Merge pull request #45201 from EricEzaM/PR/popup-menu-fixRémi Verschelde
Fixed popup not calculating size correctly before adjusting its rect.
2021-02-19doc: Sync classref with current sourceRémi Verschelde
And fix various bogus bindings following previous PRs.
2021-02-19New ActionMapEditor to replace InputMapEditor. Used in ProjectSettings.Eric M
Renamed to ActionMapEditor as it is more generic and can be used for more than just the InputMapEditor if required. This also includes a new Event Configuration dialog (previously "Press A key...") which can be used to create and edit InputEvents for any use - like the Project Settings input map, or the Editor Settings shortcuts.
2021-02-18Reorganize Project Settingsreduz
-Advanced Settings toggle also hides advanced properties when disabled -Simplified Advanced Bar (errors were just plain redundant) -Reorganized rendering quality settings. -Reorganized miscelaneous settings for clean up.
2021-02-09Initialize class variables with default values in scene/ [2/2]Rafał Mikrut
2021-01-15Fixed popup not calculating size correctly before adjusting its rect.Eric M
2021-01-01Update copyright statements to 2021Rémi Verschelde
Happy new year to the wonderful Godot community! 2020 has been a tough year for most of us personally, but a good year for Godot development nonetheless with a huge amount of work done towards Godot 4.0 and great improvements backported to the long-lived 3.2 branch. We've had close to 400 contributors to engine code this year, authoring near 7,000 commit! (And that's only for the `master` branch and for the engine code, there's a lot more when counting docs, demos and other first-party repos.) Here's to a great year 2021 for all Godot users 🎆
2020-12-09Cleanup unused engine codeTomasz Chabora
2020-11-26[Complex Text Layouts] Refactor Font class, default themes and controls to ↵bruvzg
use Text Server interface. Implement interface mirroring. Add TextLine and TextParagraph classes. Handle UTF-16 input on macOS and Windows.
2020-10-21include parent display location in popup location calculationMark Riedesel
2020-10-09Fix Popup crash in single window modePouleyKetchoupp
focus_target->exclusive_child could be invalidated during the call to focus_target->grab_focus(), now using the same logic with safe accesses to focus_target.
2020-08-26Fix WINDOW_EVENT_FOCUS_IN for popups on WindowsPouleyKetchoupp
On Windows, WINDOW_EVENT_FOCUS_IN was never sent by the display server for popups, because WM_ACTIVATE events are received during the call to _update_window_style, which happened before the callbacks were set. This was causing some issues with the way Popup is now handling closing on parent focus. Now _update_window_style is only called during show_window, after Window initialized callbacks.
2020-08-22Re-apply "Fixes for windows in X11 tiling WMs"PouleyKetchoupp
From PR #38727 which was reverted in #41373 because of regressions in Ubuntu with Gnome. Co-authored-by: Lorenzo Cerqua <lorenzocerqua@tutanota.com>
2020-08-19Revert "Fixes for windows in X11 tiling WMs"Juan Linietsky
2020-07-31Fix window max_size acting as min_sizeopl-
2020-07-23DisplayServer: separate window showing into another functionLorenzo Cerqua
When creating a window, Godot would first register it to the WM(show it) and then set its flags. This works fine on a floating WM, but on tiling WMs as soon as a window gets registered the WM immediately acts on the window by scaling it up and treating it as a generic window, being registered without any special flags. This commit separates the showing of the window into another function and calls it after the most important flags are set, making windows with special flags(eg. all popups) work again on tiling WMs. Fixes #37930
2020-07-09Fix exclusive child focus grab, when there are more than two child windows.bruvzg
2020-07-04[macOS] Implement seamless display scaling.bruvzg
2020-07-03Merge pull request #40071 from reduz/fix-content-scaleRémi Verschelde
Fix content scale mode, closes #37941
2020-07-02Fix content scale mode, closes #37941Juan Linietsky
2020-07-02Ensure cursor shape changes when exiting window, fixes #37724Juan Linietsky
2020-07-01Add ability to clamp embedded subwindows to parent, fixes #37792Juan Linietsky
2020-07-01Ensure embedded mode works againJuan Linietsky
Also implemented application in/out notifications in X11.
2020-06-30Make dialogs exclusive by default, fixes #37732Juan Linietsky
Also fix on set_visible, not creating exclusive children as it should.
2020-06-30Add a separate application focus/in notification out from Window focus ↵Juan Linietsky
notification.
2020-05-17Fix popup window size calculation in popup_centered_ratio by using Rect2unknown
2020-05-16Fix popup positions on multiple screens (with same scaling only).bruvzg
2020-05-14Style: Enforce braces around if blocks and loopsRémi Verschelde
Using clang-tidy's `readability-braces-around-statements`. https://clang.llvm.org/extra/clang-tidy/checks/readability-braces-around-statements.html
2020-05-14Style: Enforce separation line between function definitionsRémi Verschelde
I couldn't find a tool that enforces it, so I went the manual route: ``` find -name "thirdparty" -prune \ -o -name "*.cpp" -o -name "*.h" -o -name "*.m" -o -name "*.mm" \ -o -name "*.glsl" > files perl -0777 -pi -e 's/\n}\n([^#])/\n}\n\n\1/g' $(cat files) misc/scripts/fix_style.sh -c ``` This adds a newline after all `}` on the first column, unless they are followed by `#` (typically `#endif`). This leads to having lots of places with two lines between function/class definitions, but clang-format then fixes it as we enforce max one line of separation. This doesn't fix potential occurrences of function definitions which are indented (e.g. for a helper class defined in a .cpp), but it's better than nothing. Also can't be made to run easily on CI/hooks so we'll have to be careful with new code. Part of #33027.