summaryrefslogtreecommitdiffstats
path: root/editor/plugins/texture_editor_plugin.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Revert "Remove NOTIFICATION_ENTER_TREE when paired with ↵Rémi Verschelde2022-08-291-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | NOTIFICATION_THEME_CHANGED" This reverts commit 4b817a565cab8af648c88cfc7ab6481e86ee3625. Fixes #64988. Fixes #64997. This caused several regressions (#64988, #64997, https://github.com/godotengine/godot/issues/64997#issuecomment-1229970605) which point at a flaw in the current logic: - `Control::NOTIFICATION_ENTER_TREE` triggers a *deferred* notification with `NOTIFCATION_THEME_CHANGED` as introduced in #62845. - Some classes use their `THEME_CHANGED` to cache theme items in member variables (e.g. `style_normal`, etc.), and use those member variables in `ENTER_TREE`, `READY`, `DRAW`, etc. Since the `THEME_CHANGE` notification is now deferred, they end up accessing invalid state and this can lead to not applying theme properly (e.g. for EditorHelp) or crashing (e.g. for EditorLog or CodeEdit). So we need to go back to the drawing board and see if `THEME_CHANGED` can be called earlier so that the previous logic still works? Or can we refactor all engine code to make sure that: - `ENTER_TREE` and similar do not depend on theme properties cached in member variables. - Or `THEME_CHANGE` does trigger a general UI update to make sure that any bad theme handling in `ENTER_TREE` and co. gets fixed when `THEME_CHANGE` does arrive for the first time. But that means having a temporary invalid (and possibly still crashing) state, and doing some computations twice which might be heavy (e.g. `EditorHelp::_update_doc()`).
* Remove NOTIFICATION_ENTER_TREE when paired with NOTIFICATION_THEME_CHANGEDAaron Record2022-08-271-9/+0
|
* Add missing properties to default themekobewi2022-08-111-1/+1
|
* Rename Control PRESET_WIDE to PRESET_FULL_RECTFireForge2022-07-181-1/+1
|
* Mention mipmap and memory usage in the texture editor previewHugo Locurcio2022-06-291-6/+46
| | | | | | | | | This is important to quickly determine if a texture is using unexpectedly high amounts of memory, or to troubleshoot why mipmap sampling modes have no effect on it. - Improve readability by increasing outline size and reducing font size to match the rest of the editor UI.
* Use multiplication symbol in Texture size labelFireForge2022-04-111-1/+1
|
* Rename StreamTexture* to CompressedTexture*reduz2022-03-051-3/+3
| | | | | | * Its not and will not be used for streaming. * Streaming will be implemented in 4.1 and it will work different. * It makes more sense to be called CompressedTexture since it imports and compresses texture files.
* Editor: Cleanup some includes dependenciesRémi Verschelde2022-02-151-1/+0
| | | | | | | | | | | Removes some unnecessary includes from `editor_node.h`, and instead add those where they're used. Removes unnecessary `editor_node.h` includes in various editor classes. Renames `dynamicfont` to `dynamic_font` in a couple files. Misc cleanup while jumping through that rabbit hole.
* Remove most EditorNode constructor parameters and fieldstrollodel2022-02-141-1/+1
|
* Improve compilation speed (forward declarations/includes cleanup)Hendrik Brucker2022-02-121-0/+1
|
* Revert "Add missing SNAME macro optimization to all theme methods call"Rémi Verschelde2022-02-081-7/+7
| | | | | | | | This reverts commit a988fad9a092053434545c32afae91ccbdfbe792. As discussed in #57725 and clarified in #57788, `SNAME` is not meant to be used everywhere but only in critical code paths. For theme methods specifically, it was by design that only getters use `SNAME` and not setters.
* Add missing SNAME macro optimization to all theme methods calljmb4622022-02-061-7/+7
|
* Rename TextureRect.expand to ignore_texture_sizekobewi2022-01-071-1/+1
|
* Update copyright statements to 2022Rémi Verschelde2022-01-031-2/+2
| | | | Happy new year to the wonderful Godot community!
* Fix Label and RichTextLabale text shadows and shadow outlines.bruvzg2021-11-061-1/+1
|
* TexturePreview Update text when texture is being changedkleonc2021-09-251-10/+17
|
* Don't set metadata_label font if it doesn't existkobewi2021-07-231-2/+4
|
* Fix `TexturePreview` crashingLightning_A2021-07-221-9/+26
|
* Remove unnecessary get_editor_theme() in SubViewportPreviewLightning_A2021-07-181-5/+3
|
* Add viewport preview pluginLightning_A2021-07-121-102/+39
| | | | Also includes a minor refactor of TextureEditorPlugin.
* Rename `instance()`->`instantiate()` when it's a verbLightning_A2021-06-191-1/+1
|
* Remove obsolete LargeTexture, it's no longer useful since 3.xRémi Verschelde2021-04-281-1/+1
| | | | | | | | | | | | | It existed in early Godot releases to allow working around hardware limitations on max texture sizes (e.g. hardware limits of 1024x1024 pixels). Nowadays the max texture size supported natively by Godot is 16384x16384, and even low end mobile hardware should support at least 4096x4096. The LargeTexture implementation is basically just an array with offsets, sizes and textures and should be easy to replicate with a custom Texture resource if needed - solving most of its bugs on the way as the implementation removed here has various unimplemented or incomplete methods.
* Removed _change_notifyreduz2021-02-101-4/+4
| | | | | | -For inspector refresh, the inspector now detects if a property change by polling a few times per second and then does update the control if so. This process is very cheap. -For property list refresh, a new signal (property_list_changed) was added to Object. _change_notify() is replaced by notify_property_list_changed() -Changed all objects using the old method to the signal, or just deleted the calls to _change_notify(<property>) since they are unnecesary now.
* Update copyright statements to 2021Rémi Verschelde2021-01-011-2/+2
| | | | | | | | | | | | | | 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 🎆
* [Complex Text Layouts] Refactor Font class, default themes and controls to ↵bruvzg2020-11-261-5/+6
| | | | | | | | use Text Server interface. Implement interface mirroring. Add TextLine and TextParagraph classes. Handle UTF-16 input on macOS and Windows.
* Reorganized core/ directory, it was too fatty alreadyreduz2020-11-071-1/+1
| | | | | | -Removed FuncRef, since Callable makes it obsolete -Removed int_types.h as its obsolete in c++11+ -Changed color names code
* Style: Enforce braces around if blocks and loopsRémi Verschelde2020-05-141-5/+10
| | | | | Using clang-tidy's `readability-braces-around-statements`. https://clang.llvm.org/extra/clang-tidy/checks/readability-braces-around-statements.html
* Style: Enforce separation line between function definitionsRémi Verschelde2020-05-141-0/+1
| | | | | | | | | | | | | | | | | | | | | | | 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.
* Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocksRémi Verschelde2020-05-141-10/+0
| | | | | | | | | | | | | | Which means that reduz' beloved style which we all became used to will now be changed automatically to remove the first empty line. This makes us lean closer to 1TBS (the one true brace style) instead of hybridating it with some Allman-inspired spacing. There's still the case of braces around single-statement blocks that needs to be addressed (but clang-format can't help with that, but clang-tidy may if we agree about it). Part of #33027.
* New lightmapperJuan Linietsky2020-05-101-3/+3
| | | | | | | -Added LocalVector (needed it) -Added stb_rect_pack (It's pretty cool, we could probably use it for other stuff too) -Fixes and changes all around the place -Added library for 128 bits fixed point (required for Delaunay3D)
* Replace NULL with nullptrlupoDharkael2020-04-021-1/+1
|
* Popups are now windows also (broken!)Juan Linietsky2020-03-261-2/+2
|
* [Vulkan] Add repeat flag to texture preview checkerboard backgroundYuri Roubinsky2020-02-111-0/+1
|
* Texture refactorJuan Linietsky2020-02-111-4/+4
| | | | | | | | -Texture renamed to Texture2D -TextureLayered as base now inherits 2Darray, cubemap and cubemap array -Removed all references to flags in textures (they will go in the shader) -Texture3D gone for now (will come back later done properly) -Create base rasterizer for RenderDevice, RasterizerRD
* Update copyright statements to 2020Rémi Verschelde2020-01-011-2/+2
| | | | | | | | | | | Happy new year to the wonderful Godot community! We're starting a new decade with a well-established, non-profit, free and open source game engine, and tons of further improvements in the pipeline from hundreds of contributors. Godot will keep getting better, and we're looking forward to all the games that the community will keep developing and releasing with it.
* Changed some code showed in LGTM and Coverageqarmin2019-07-201-3/+0
|
* Fix crash in texture previeer, closes #26749, probably othersJuan Linietsky2019-03-081-0/+5
|
* Do not annoy unrelated textures with texture editor.Juan Linietsky2019-03-071-1/+1
|
* Fix and restore text, material and mesh previewers.Juan Linietsky2019-03-041-26/+15
|
* Update copyright statements to 2019Rémi Verschelde2019-01-011-2/+2
| | | | Happy new year to the wonderful Godot community!
* Make core/ includes absolute, remove subfolders from include pathRémi Verschelde2018-09-121-2/+2
| | | | | | This allows more consistency in the manner we include core headers, where previously there would be a mix of absolute, relative and include path-dependent includes.
* Fix gradient texture previewChaosus2018-02-031-0/+3
|
* Add missing copyright headers and fix formattingRémi Verschelde2018-01-051-0/+1
| | | | | | Using `misc/scripts/fix_headers.py` on all Godot files. Some missing header guards were added, and the header inclusion order was fixed in the Bullet module.
* Update copyright statements to 2018Rémi Verschelde2018-01-011-2/+2
| | | | Happy new year to the wonderful Godot community!
* Renamed fixed_process to physics_processAndreaCatania2017-09-301-1/+1
|
* Use HTTPS URL for Godot's website in the headersRémi Verschelde2017-08-271-1/+1
|
* Convert Object::cast_to() to the static versionHein-Pieter van Braam2017-08-241-6/+6
| | | | | | | | | | | | Currently we rely on some undefined behavior when Object->cast_to() gets called with a Null pointer. This used to work fine with GCC < 6 but newer versions of GCC remove all codepaths in which the this pointer is Null. However, the non-static cast_to() was supposed to be null safe. This patch makes cast_to() Null safe and removes the now redundant Null checks where they existed. It is explained in this article: https://www.viva64.com/en/b/0226/
* Merge pull request #8209 from robertdhernandez/Texture-Region-Editor-SyncRémi Verschelde2017-08-011-3/+13
|\ | | | | Texture region now updates when changing an Atlas region rect
| * Texture region now updates when changing an AtlasRobert Hernandez2017-06-291-3/+13
| | | | | | | | | | | | | | | | | | - Removed atlas_changed signal for AtlasTexture - Changes are now handled by _notify_change - Removed unneccesary signal connections - Texture preview now updates in real-time Fixed TextureRegionEditor constantly regenerating
* | Style: Apply clang-format on all filesRémi Verschelde2017-07-301-1/+1
| | | | | | | | Thus fixing some invalid changes that had still made it to the master branch.