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
2021-06-18Fix Build WarningHarley Acheson
Removal of unused local variable. Calculation of underline thickness no longer needed with change to text output of underscore character. Introduced in aee04d496035 Differential Revision: https://developer.blender.org/D11641
2021-06-18Fix T89246: No Mnemonic Underlines in DialogsHarley Acheson
When drawing mnemonic underlines for hotkeys, use text output of underscore character instead of direct drawing a line. Otherwise these are not visible in dialog buttons. Introduced in 0fcc063fd99c Differential Revision: https://developer.blender.org/D11641 Reviewed by Campbell Barton
2021-06-15UI: Support right aligned non-shortcut hints in widgetsJulian Eisel
Widget drawing code already supported drawing right-aligned, grayed out shortcut strings. This patch generalizes things a bit so this can also be used to draw other hints in the same way. There have been a few instances in the past where this would've been useful, D11046 being the latest one. Note that besides some manual regression testing, I didn't check if this works yet, as there is no code actually using it (other than the shortcuts). Can be checked as part of further development for D11046. A possible further improvement would be providing a way to define how clipping should be done. E.g. sometimes the right-aligned text should be clipped first (because it's just a hint), in other cases it should be left untouched (like current code explicitly does it for shortcuts). Removes the `UI_BUT_HAS_SHORTCUT` flag, which isn't needed anymore.
2021-06-08Cleanup: Silent compile warning in `interface_widgets.c`.Jeroen Bakker
2021-06-07Fix T88801: Positioning of Menu UnderlinesHarley Acheson
This patch improves the positioning of the little mnemonic underlines shown under some hotkey letters in menus, especially when using custom fonts. see D11521 for details and examples. Differential Revision: https://developer.blender.org/D11521 Reviewed by Campbell Barton
2021-05-17UI: add non-linear slider supportHenrik Dick
This patch introduces non linear sliders. That means, that the movement of the mouse doesn't map linearly to the value of the slider. The following changes have been made. - Free logarithmic sliders with maximum range of (`0 <= x < inf`) - Logarithmic sliders with correct value indication bar. - Free cubic sliders with maximum range of (`-inf < x < inf`) - Cubic sliders with correct value indication bar. Cubic mapping has been added as well, because it's used for brush sizes in other applications (Krita for e.g.). To make a slider have a different scale type use following line in RNA: `RNA_def_property_ui_scale_type(prop, PROP_SCALE_LOGARITHMIC);` or: `RNA_def_property_ui_scale_type(prop, PROP_SCALE_CUBIC);` Test the precision, step size and soft-min if you change the scale type of a property as it will feel very different and may need tweaking. Ref D9074
2021-04-27Fix T87749: Fix text jitter in buttons with iconsHans Goudey
This patch fixes the remaining issues described in T87749. The jitter was caused by inconsistent rounding when using the floats icon_size and icon_padding to offset the bound for the text drawing. Using `round_fl_to_int` leads to consistent results and fixes the jitter that remained in some buttons with icons, UI lists, and breadcrumbs. Differential Revision: https://developer.blender.org/D11062
2021-04-23Fix T87749 (partially): Text jitter in buttons and spreadsheet editorLeon Leno
This patch fixes jittering text when resizing regions of the UI as described in T87749. The jitter was caused by the text padding being stored as an integer which lead to inconsistent rounding. Most notably this patch fixes the jitter in the new spreadsheet editor, but not all occurrences of jitter described in T87749 (e.g. in UI lists) are addressed. Differential Revision: https://developer.blender.org/D11060
2021-04-13Fix T78803: Bad widget drawing with the R600g driverOmar Emara
The SB back-end optimizer for the mesa R600g driver corrupts the vertex shader for widget drawing. This will not be fixed upstream because SB is getting replaced as part of the new NIR path. This was thought to be an issue with instancing and an attempted fix was submitted in D8374, but it did not fix the issue. This patch reimplements the array look-up part of the code using switch case as a workaround and removes the old workaround implemented as part of D8374. Reviewed By: Clement Foucault Differential Revision: https://developer.blender.org/D10967
2021-03-11Cleanup: spellingCampbell Barton
2021-03-10Cleanup: spellingCampbell Barton
2021-03-08Cleanup: use ofs instead of offs as an abbreviation for offsetCampbell Barton
Used for local structs/variables, since `ofs` is by far the most widely used abbreviation.
2021-03-04Cleanup: use const arraysCampbell Barton
2021-02-25UI: Fix icon width and padding in search menusHans Goudey
Previously the padding size and the width saved for the icon were constant regardless of the zoom level. This resulted in overlapping icons and text, and ugly padding with more extreme zoom levels. We can retrieve the size of the row from the `rect` argument.
2021-02-08Fix for T84038: Improved Report WarningsHarley Acheson
Improved contrast for Status Bar report warning messages. Differential Revision: https://developer.blender.org/D10242 Reviewed by Hans Goudey
2021-02-05Cleanup: correct spelling in commentsCampbell Barton
2021-01-28Fix T83935: Superimposed icon's hotspot is misalignedYevgeny Makarov
Now the icon's rect are drawn wider than it should be, and with overlapping, probably in order to compensate for the icon's offsets inside the rect. The solution is to draw icon's rect of the correct size and center the icon itself. And make the hotspot exactly match the icon's rect. The last/right button's hotspot also covers the extra padding on the right. Differential Revision: https://developer.blender.org/D9936 Reviewed by: Julian Eisel
2021-01-26UI: Use Ellipsis for Short Truncated TextHarley Acheson
Allow use of ellipsis to indicate truncated text down to a single character. Differential Revision: https://developer.blender.org/D9483 Reviewed by Hans Goudey
2021-01-26Cleanup: update comment from 77f73a92843965906189dd56dcc4d18eae2371ccCampbell Barton
2021-01-26Fix library name clipping most of the data-block name in data-block menusJulian Eisel
Issue is visible here https://developer.blender.org/F8626313. If there is enough space for both the item name and the library hint, display both. Otherwise, clip either the item name, the library hint, or both so that not more than 60% and 40% of the available width are used repectively. There are further improvements we could do, as noted in T84188, this just fixes the regression for the release. Part of T84188. There were multiple reports about this, see merged in and mentioned reports in T84188 and T78012.
2021-01-08Fix T83868: Disabled or inactive list items are not grayed outHans Goudey
The cause for this was quite simple-- a misplaced bitwise operation before passing a value to the function that grayed out buttons based on their state, caused by refactoring in rB933bf62a611f before committing. What makes the situation a little more confusing is that the theme colors are overridden for list buttons in UI lists, necessitating a second call to `ui_widget_color_disabled()`. Ideally that wouldn't be necessary.
2021-01-04Cleanup: use const variablesCampbell Barton
2020-12-28Cleanup: Typo: `overriden` -> `overridden`.Bastien Montagne
2020-12-21Cleanup: Reduce indentationHans Goudey
2020-12-19Cleanup: Use typedef for UI emboss type enumHans Goudey
Previously both `char` and `int` were used to represent this enum. Differential Revision: https://developer.blender.org/D9903
2020-12-19Fix T83868: Button animation states no longer visible without embossHans Goudey
This bug was caused by making it so that non-embossed modifier icon buttons could become an operator button and retain their red highlight for disabled modifiers. The icon button needs emboss turned off, but in earlier versions of Blender, `UI_EMBOSS_NONE` would be overridden by animation or red alert states. Instead of abusing "NONE" to mean "none unless there is animation or red alert", this commit adds a new emboss flag for that situation, `UI_EMBOSS_NONE_OR_STATUS`, which uses no emboss unless there is an animation state, or another status. There are only a few situations where this is necessary, so the change isn't too big. Differential Revision: https://developer.blender.org/D9902
2020-12-17Cleanup: renaming and code deduplication for color space clarity in pickerBrecht Van Lommel
Ref T68926
2020-12-02Geometry Nodes: active modifier + geometry nodes editorHans Goudey
This commit adds functions to set and get the object's active modifier, which is stored as a flag in the ModifierData struct, similar to constraints. This will be used to set the context in the node editor. There are no visible changes in this commit. Similar to how the node editor context works for materials, this commit makes the node group displayed in the node editor depend on the active object and its active modifier. To keep the node group from changing, just pin the node group in the header. * Shortcuts performed while there is an active modifier will affect only that modifier (the exception is the A to expand the modifiers). * Clicking anywhere on the empty space in a modifier's panel will make it active. These changes require some refactoring of object modifier code. First is splitting up the modifier property invoke callback, which now needs to be able to get the active modifier separately from the hovered modifier for the different operators. Second is a change to removing modifiers, where there is now a separate function to remove a modifier from an object's list, in order to handle changing the active. Finally, the panel handler needs a small tweak so that this "click in panel" event can be handled afterwards.
2020-11-24UI: Add Trackpad Smooth Scrolling for PopoversYevgeny Makarov
Adds smooth scrolling with the trackpad for popovers. Also fixes the position of the scroll arrows on high-DPI. Differential Revision: https://developer.blender.org/D9533 Reviewed by Brecht Van Lommel
2020-11-21Cleanup: Declare variables where initializedHans Goudey
Reduce variable scope, and in a few cases, use bool instead of int.
2020-11-06Cleanup: use ELEM macroCampbell Barton
2020-11-05Cleanup: Move function to proper fileHans Goudey
This lower level drawing function didn't make sense in the panel code, especially when it is used in multiple other places.
2020-10-29UI: Improved alignment of labels and buttonsYevgeny Makarov
Improved alignment of labels with other buttons. Differential Revision: https://developer.blender.org/D9058 Reviewed by Julian Eisel
2020-10-28UI: Improved Checkbox Width CalculationYevgeny Makarov
Improved calculation of checkbox width to include line width preference. Differential Revision: https://developer.blender.org/D9025 Reviewed by Hans Goudey
2020-10-19Spelling: It's Versus ItsHarley Acheson
Corrects incorrect usage of contraction for 'it is', when possessive 'its' was required. Differential Revision: https://developer.blender.org/D9250 Reviewed by Campbell Barton
2020-10-10Cleanup: use C comments for descriptive textCampbell Barton
Follow our code style guide by using C-comments for text descriptions.
2020-10-08UI: Fix opacity of the popover arrow outlineYevgeny Makarov
Due to the old AA method, it was necessary to add transparency to the outline of the popover arrow to match the box outline opacity. This is no longer required after rB15dda0115c78. See the differential for before and after screenshots. Differential Revision: https://developer.blender.org/D9026
2020-10-03Cleanup: Remove/replace C standard library assert() and header usagesJulian Eisel
We have our own assert implementation, `BLI_assert()` that is prefered over the C standard library one. Its output is more consistent across compilers and makes termination on assert failure optional (through `WITH_ASSERT_ABORT`). In many places we'd include the C library header without ever accessing it.
2020-10-02Property Search: Differentiate search filtered and inactive buttonsHans Goudey
Currently there's no way to know if a button is inactive when it doesn't match the search results, because they use the same 50% gray level. This isn't a huge problem, but it could lead to confusion. This commit uses a subtle solution, a 25% opacity when the button is inactive and also filtered by search. This requires flipping the meaning of the UI_SEARCH_FILTER_MATCHES flag in the code, and also adding a widget_alpha_factor utility in the widget code. Differential Revision: https://developer.blender.org/D8975
2020-09-18Fix misalignment of menu items in Preferences > Save & Load menuJulian Eisel
Checking for the layout alignment is not a reliable way to filter out which items need the additional icon/text offset. Instead check if the buttons are icon-only (which we rarely do, e.g. for collection colors in the Outliner context menu).
2020-09-18UI: Support mouse over highlighting for superimposed iconsJulian Eisel
E.g. the 'x' icons or eyedropper icons in text buttons. They didn't use to have any mouse over feedback, now we dim the icon until hovered. This kind of feedback helps users see that the icons are interactive, and if they are within their interaction hotspot.
2020-09-15UI: Add support for row-aligned icon buttons in menusNathan Craddock
This adds support for drawing icon buttons as a row in menus. This is needed for drawing collection color tagging icons in the outliner context menu in T77777. Part of T77408 Differential Revision: https://developer.blender.org/D8317
2020-09-09Cleanup: reduce variable scopeJacques Lucke
2020-08-26Cleanup: use const variables in interface codeCampbell Barton
2020-08-20GPU: Fix some more remaining GL enums scattered outside of GL moduleClément Foucault
This fixes an assert inside the lasso selection drawing.
2020-08-19UI Code Quality: Use LISTBASE_FOREACH in interface directoryHans Goudey
I only skipped a few loops in the monstrous ui_handle_menu_event function. Also, I only changed variable names where necessary to prevent redeclarations. Differential Revision: https://developer.blender.org/D8586
2020-08-18Cleanup: GPUState: remove double GPU_blend callsClément Foucault
2020-08-18GPUState: GPU_blend final API renamingClément Foucault
We now use GPU_blend for enabling / disabling blending and explicitly set the blend equation.
2020-08-18Cleanup: GPUState: Replace blend func separate by enumClément Foucault
2020-08-18Cleanup: GPU: Replace Batch uniform by shader uniform using macroClément Foucault
This is a first step into removing uniforms from GPU_batch and Imm.