Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-04-30Fix dragging panels changing region sizeJulian Eisel
While dragging panels, the region size would change which would feel glitchy. See D7462 for a demo of the issue.
2020-04-16UI: Remove old hacks for dynamic scrollbar hidingJulian Eisel
Although we still dynamically hide scrollbars, they don't change the region size anymore. They are simply drawn on top of the region content. Because of this, some hacks introduced by fa28e50ac2a7 are no longer necessary. Without these hacks, the scrollbar visibility is evaluated much more often (cheap operation) which should be more reliable and possibly solve some glitches. Also replaces integers passed as booleans. Fixes T75782.
2020-04-03Code Quality: Replace for loops with LISTBASE_FOREACHDalai Felinto
Note this only changes cases where the variable was declared inside the for loop. To handle it outside as well is a different challenge. Differential Revision: https://developer.blender.org/D7320
2020-04-03Cleanup: Rename bScreen variables from sc/scr to screenJulian Eisel
Part of T74432. Mostly a careful batch rename but had to do few smaller fixes. Also ran clang-format on affected files.
2020-04-03Cleanup: Rename ScrArea variables from sa to areaJulian Eisel
Follow up of b2ee1770d4c3 and 10c2254d412d, part of T74432. Now the area and region naming conventions should be less confusing. Mostly a careful batch rename but had to do few smaller fixes. Also ran clang-format on affected files.
2020-04-03Cleanup: Continue renaming ARegion variables from ar to regionJulian Eisel
Continuation of b2ee1770d4c3, now non-single word variables are also renamed. Part of T74432. Also ran clang-format on affected files.
2020-03-19Cleanup: `make format` after SortedIncludes changeDalai Felinto
2020-03-15Cleanup: redundant assignmentsCampbell Barton
2020-03-15Cleanup: use 'const' style argumentCampbell Barton
2020-03-09Fix failing assert because of invalid region coordinatesJulian Eisel
Steps to reproduce were: * Disable tool settings region in 3D View (View > Tool Settings) * Split the 3D View and drag all the way down The removed code doesn't seem to be needed anymore. Tested this on hiDPI too, seems fine. These kind of fixes are always tricky, so I wouldn't be surprised if there are any issues caused by this.
2020-03-09GPencil: Refactor of Draw Engine, Vertex Paint and all internal functionsAntonio Vazquez
This commit is a full refactor of the grease pencil modules including Draw Engine, Modifiers, VFX, depsgraph update, improvements in operators and conversion of Sculpt and Weight paint tools to real brushes. Also, a huge code cleanup has been done at all levels. Thanks to @fclem for his work and yo @pepeland and @mendio for the testing and help in the development. Differential Revision: https://developer.blender.org/D6293
2020-03-09Cleanup: Replace ABS/SQUARE/CUBE with function callsSergey Sharybin
While it might be handy to have type-less functionality which is similar to how C++ math is implemented it can not be easily achieved with just preprocessor in a way which does not have side-effects on wrong usage. There macros where often used on a non-trivial expression, and there was at least one usage where it was causing an actual side effect/bug on Windows (see change around square_f(sh[index++]) in studiolight.c). For such cases it is handy to have a function which is guaranteed to have zero side-effects. The motivation behind actually removing the macros is that there is already a way to do similar calculation. Also, not having such macros is a way to guarantee that its usage is not changed in a way which have side-effects and that it's not used as an inspiration for cases where it should not be used. Differential Revision: https://developer.blender.org/D7051
2020-03-06Cleanup: Rename ARegion variables from ar to regionJulian Eisel
The old convention was easy to confuse with ScrArea. Part of https://developer.blender.org/T74432. This is mostly a batch rename with some manual fixing. Only single word variable names are changed, no prefixed/suffixed names. Brecht van Lommel and Campbell Barton both gave me a green light for this convention change. Also ran clan clang format on affected files.
2020-03-06Cleanup: Reduce context usage in UI functionsJulian Eisel
Part of https://developer.blender.org/T74429. There's a chance that this causes some issues becaue in some cases we change from getting the window from context to getting it from somewhere else.
2020-02-22Cleanup: internal changes to cursor resettingCampbell Barton
- Move gizmo cursor check into ED_region_cursor_set so the result of calling this function is the same as flagging for cursor update. - Use tagging in ui_popup_block_remove which avoids adding a mouse-move event in case the cursor needs to be changed again.
2020-02-15Cleanup: work around clang-format differences between versionsBrecht Van Lommel
Ref T73747
2020-02-14Cleanup: Rename ED_region_tag_redraw_overlay() to ED_region_tag_redraw_cursor()Julian Eisel
Old name was a bit confusing/misleading, esp. since previous commit.
2020-02-14UI: Allow gizmo-only redraw taggingJulian Eisel
NOTE: This change shouldn't have any visible effect. It's just the first (easiest) step towards decoupling gizmo redraws from viewport redraws. We currently redraw the entire region whenever a gizmo needs redrawing, which would be nice to avoid in the future, see T73198. The first step towards this would be having a separate tag for them, which is what this patch implements. The term "editor-overlays" was chosen because for the forseeable future, we'll also have to redraw non-gizmo overlays in-between drawing 3D and 2D gizmos. Namely annotations. Reviewed By: brecht Differential Revision: https://developer.blender.org/D6838
2020-02-12Cleanup: clang-format.Bastien Montagne
2020-02-07Cleanup: use of 'unsigned'Campbell Barton
- Replace 'unsigned' used on it's own with 'uint'. - Replace 'unsigned const char' with 'const uchar'.
2020-01-29Fix T73453: Selecting playhead in VSE deselects all selected stripsJulian Eisel
Tool system handlers had higher priority than the overlayed animation "regions" (fake regions in fact). Give animation (and View2D) handlers priority over toolsystem handlers. Gizmo's still have higher priority, but I'll leave that unless there's a reason to change.
2020-01-22Cleanup: Rename ED_region_init() -> ED_region_floating_initialize()Julian Eisel
This function is a very special refresh function just for floating regions. _initialize is more consistent with ED_area_initialize() so use that too. Also adds assert.
2020-01-21Fix T71810: Flipping Sidebar with tabs breaks alignmentJulian Eisel
Panel alignment was only updated when panel size changed. Now we can also recognize changes in the category tabs offset and tag panels for alignment updates.
2020-01-16Fix wrong usages of region align enumerationsJulian Eisel
`ARegion.alignment` unfortunately is a mixture of value and bitflag enumerations. When checking for left/right/top/bottom region alignment, the flags have to be masked out usually. Most of the fixed cases here probably didn't cause issues in practice, but could in fact break at any point when surrounding logic changes. In fact the assert in #region_visible_rect_calc() failed in an older file from https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=949035. This fixes it.
2020-01-15Fix crash with some hidden regions after previous commitJulian Eisel
E.g. in the default "Animation" workspace this would crash.
2020-01-15Fix invalid region rectangles, sanitize dynamic region size calulationsJulian Eisel
It was too easy to end up with invalid region rectangles and we were badly protected against them, so that they were hard to catch. In fact we still create a main region for the top-bar, which ended up getting a region height of -1. While this doesn't seem to have caused issues in practice, we should prevent them entirely. So idea was that at the end of region layout resolving, `BLI_rcti_is_valid()` should return `true` for the region rectangle. Further changes here ensure this is true: The `RGN_FLAG_TOO_SMALL` flag is now set whenever there is not enough space for a region or if it would get a size of zero or less. Note: Should the assert fail, please do not just disable it and try to actually address the root of the issue.
2020-01-14Cleanup: Use new BLI_rct utilities to ensure valid rectanglesJulian Eisel
Technically this does a slight change to the check in wm_window.c: The assert now also allows zero width/height rectangles.
2020-01-14Fix T72200: Split Quad View Region CrashJeroen Bakker
When splitting a Quad View by dragging a corner an quad area can become negative size because of a one pixel offset to calculate the start of the area. This patch solves this to make sure that there are no negative areas. By adapting the `ARegion.winrct`. Reviewed By: Severin Differential Revision: https://developer.blender.org/D6579
2019-12-20Fix IC-keymap doesn't allow MMB to run the active toolCampbell Barton
Now the keymap can be configured so both the fallback and active tool can be activated at once - when configured not to conflict.
2019-12-12Add support for tiled images and the UDIM naming schemeLukas Stockner
This patch contains the work that I did during my week at the Code Quest - adding support for tiled images to Blender. With this patch, images now contain a list of tiles. By default, this just contains one tile, but if the source type is set to Tiled, the user can add additional tiles. When acquiring an ImBuf, the tile to be loaded is specified in the ImageUser. Therefore, code that is not yet aware of tiles will just access the default tile as usual. The filenames of the additional tiles are derived from the original filename according to the UDIM naming scheme - the filename contains an index that is calculated as (1001 + 10*<y coordinate of the tile> + <x coordinate of the tile>), where the x coordinate never goes above 9. Internally, the various tiles are stored in a cache just like sequences. When acquired for the first time, the code will try to load the corresponding file from disk. Alternatively, a new operator can be used to initialize the tile similar to the New Image operator. The following features are supported so far: - Automatic detection and loading of all tiles when opening the first tile (1001) - Saving all tiles - Adding and removing tiles - Filling tiles with generated images - Drawing all tiles in the Image Editor - Viewing a tiled grid even if no image is selected - Rendering tiled images in Eevee - Rendering tiled images in Cycles (in SVM mode) - Automatically skipping loading of unused tiles in Cycles - 2D texture painting (also across tiles) - 3D texture painting (also across tiles, only limitation: individual faces can not cross tile borders) - Assigning custom labels to individual tiles (drawn in the Image Editor instead of the ID) - Different resolutions between tiles There still are some missing features that will be added later (see T72390): - Workbench engine support - Packing/Unpacking support - Baking support - Cycles OSL support - many other Blender features that rely on images Thanks to Brecht for the review and to all who tested the intermediate versions! Differential Revision: https://developer.blender.org/D3509
2019-12-04Make curve decimation only take into account the selected curve pointsSebastian Parborg
Previously the decimation would take the whole curve into account when decimating and not just the selected part. This also contains various smaller bug fixes for the fcurve decimation. Reviewed By: Sybren Differential Revision: http://developer.blender.org/D6286
2019-11-04UI: Rewrite stacked full-screen logic, fixing issuesJulian Eisel
To recreate the main issue: * Set render and file browser to show in full-screen in the preferences * Default scene, press F12 in 3D View * Press Alt+S to save the image * Escape the file browser * Escape the image editor The former 3D View would now show the image editor. This is a common use-case that should work. Full-screen code is a hassle to get to work as expected. There are reports from 2.5, I did lots of work years ago to get these kind of use-cases to work fine. But apparently I broke this one with a fix for another common use-case in March (0a28bb14222c). This now stores hints in the space, rather than the area, which should make things much more controlable and hopefully help us fix issues like this. Here are a few references describing further common issues (all should work fine now): 0a28bb14222c, e61588c5a544, T19296 Checked over this with Bastien, we agreed that at some point we should do a big rewrite of all of this, for now this is acceptable.
2019-10-29Merge branch 'blender-v2.81-release'Philipp Oeser
2019-10-29Fix T70905: Image Editor header hides mask, cache and keyframe info ifPhilipp Oeser
flipped to bottom While flipping the header to bottom works in the MCE (because MCE doesnt allow overlapping UI) we need to take the regions visible rect into account for the Image Editor. Also correct clickable scubbing area (poll for frame_change) in the Image Editor and the MovieClip Editor not taking UI_DPI_FAC into account. Maniphest Tasks: T70905 Differential Revision: https://developer.blender.org/D6090
2019-10-12Cleanup: clang-formatCampbell Barton
2019-09-28Fix build error on WindowsBrecht Van Lommel
2019-09-28Debug: add 888 and 889 debug values for redraw and PBVH node visualizatonsBrecht Van Lommel
More convenient to use the debug menu than having to modify code every time.
2019-09-26WM: clean up cursors constants and codeBrecht Van Lommel
There was a mix of old and new constants. Now have one list of WM_CURSOR_* cursor types, using GHOST standard cursors when available and otherwise falling back to our custom cursors. Ref D5197
2019-09-21Cleanup: unused headers in editorsCampbell Barton
2019-09-14Cleanup: use const args, variablesCampbell Barton
2019-09-13Cleanup: unused headers (GPU)Campbell Barton
2019-09-03UI: File Browser Design OverhaulJulian Eisel
This is a general redesign of the File Browser GUI and interaction methods. For screenshots, check patch D5601. Main changes in short: * File Browser as floating window * New layout of regions * Popovers for view and filter options * Vertical list view with interactive column header * New and updated icons * Keymap consistency fixes * Many tweaks and fixes to the drawing of views ---- General: * The file browser now opens as temporary floating window. It closes on Esc. The header is hidden then. * When the file browser is opened as regular editor, the header remains visible. * All file browser regions are now defined in Python (the button layout). * Adjusted related operator UI names. Keymap: Keymap is now consistent with other list-based views in Blender, such as the Outliner. * Left click to select, double-click to open * Right-click context menus * Shift-click to fill selection * Ctrl-click to extend selection Operator options: These previously overlapped with the source list, which caused numerous issues with resizing and presenting many settings in a small panel area. It was also generally inconsistent with Blender. * Moved to new sidebar, which can easily be shown or hidden using a prominent Options toggle. * IO operators have new layouts to match this new sidebar, using sub-panels. This will have to be committed separately (Add-on repository). * If operators want to show the options by default, they have the option to do so (see `WM_FILESEL_SHOW_PROPS`, `hide_props_region`), otherwise they are hidden by default. General Layout: The layout has been changed to be simpler, more standard, and fits better in with Blender 2.8. * More conventional layout (file path at top, file name at the bottom, execute/cancel buttons in bottom right). * Use of popovers to group controls, and allow for more descriptive naming. * Search box is always live now, just like Outliner. Views: * Date Modified column combines both date and time, also uses user friendly strings for recent dates (i.e. "Yesterday", "Today"). * Details columns (file size, modification date/time) are now toggleable for all display types, they are not hardcoded per display type. * File sizes now show as B, KB, MB, ... rather than B, KiB, MiB, … They are now also calculated using base 10 of course. * Option to sort in inverse order. Vertical List View: * This view now used a much simpler single vertical list with columns for information. * Users can click on the headers of these columns to order by that category, and click again to reverse the ordering. Icons: * Updated icons by Jendrzych, with better centering. * Files and folders have new icons in Icon view. * Both files and folders have reworked superimposed icons that show users the file/folder type. * 3D file documents correctly use the 3d file icon, which was unused previously. * Workspaces now show their icon on Link/Append - also when listed in the Outliner. Minor Python-API breakage: * `bpy.types.FileSelectParams.display_type`: `LIST_SHORT` and `LIST_LONG` are replaced by `LIST_VERTICAL` and `LIST_HORIZONTAL`. Removes the feature where directories would automatically be created if they are entered into the file path text button, but don't exist. We were not sure if users use it enough to keep it. We can definitely bring it back. ---- //Combined effort by @billreynish, @harley, @jendrzych, my university colleague Brian Meisenheimer and myself.// Differential Revision: https://developer.blender.org/D5601 Reviewers: Brecht, Bastien
2019-08-20Cleanup: clang-format, sorted listsCampbell Barton
2019-08-18Fix T67008: Missing move handle and flickering in FileBrowserAndrea Weikert
Fix T67008: Missing move handle and flickering in FileBrowser Allow split regions (child regions) to contribute to the action zones (azone) of the parent region. This fixes the issues in file browser and also in the user preferences. Reviewers: Severin, mont29, campbellbarton Reviewed By: Severin, mont29, campbellbarton Subscribers: brecht, campbellbarton Maniphest Tasks: T67008 Differential Revision: https://developer.blender.org/D5273
2019-08-15WM: reuse visible region calculationCampbell Barton
Avoids calculating the visible part of a region whenever on-screen overlays are drawn.
2019-08-15Fix T64888: full-screen button overlaps side-barCampbell Barton
2019-08-15Fix full-screen button overlapping navigation gizmoCampbell Barton
2019-08-15UI: skip drawing the full-screen when alpha is zeroCampbell Barton
2019-08-15Fix T68678: Invisible fullscreen buttonCampbell Barton
Regression from 6148ed8cf9ca
2019-08-01Cleanup: misc spelling fixesCampbell Barton
T68035 by @luzpaz