Commit Graph

51 Commits

Author SHA1 Message Date
Pablo Vazquez
88c2c67ae4 UI: Color Interpolation Icons
Color the interpolation icons matching the new interpolation theme
settings added in 75eaecf350

This makes a clearer connection with the lines drawn in Dope Sheet.

See PR for details and screenshots.

Pull Request: https://projects.blender.org/blender/blender/pulls/148215
2025-10-18 00:05:23 +02:00
Cartesian Caramel
8f41d46d74 Constraint: Geometry Attribute
Add a new constraint called "Geometry Attribute", which directly
samples vector, quaternion, or 4x4 matrix attributes from geometry and
applies these to an object's or bone's transform.

This can be used to transfer data generated by geometry nodes to the
object or bone level. By default the constraint will sample a vector
on the vertex domain. The default attribute is `position` for
simplicity, but the attribute value does not have to have anything to
do with neither the transform of the geometry object nor the geometry
itself.

Pull Request: https://projects.blender.org/blender/blender/pulls/136477
2025-10-07 15:14:22 +02:00
Harley Acheson
b11093306b UI: SVG Icons for Collection Colors
A test of using multi-color SVG icons in place of the current "vector"
(custom drawn) style we are using now. These use separate colors for
the box body versus outline, shadow, handhold. Colored by the theme
colors.

Pull Request: https://projects.blender.org/blender/blender/pulls/126307
2025-10-07 02:07:28 +02:00
Pablo Vazquez
526f46d2c3 UI: Icons: Add icon for Sequencer Strip Modifier
Add a new icon for Sequencer strip modifiers.

See PR for details and screenshots.

Pull Request: https://projects.blender.org/blender/blender/pulls/147208
2025-10-02 16:49:05 +02:00
Simon Thommes
43fbbc95bc Modifiers: Add icons to remaining modifier assets in Generate category
This adds new icons for the remaining two modifier Essentials assets
bundled with Blender in the `Generate` category.
(`Curve to Tube` and `Scatter on Surface`)

Pull Request: https://projects.blender.org/blender/blender/pulls/147115
2025-10-01 15:50:34 +02:00
Dalai Felinto
c8468f5cfa UI: Flip RNA icon + remove RNA_ADD
The RNA icon was rotating on the wrong direction.

Technically this is mostly a DNA helix, but even RNA can be a
double-helix sometimes. And both cases (RNA and DNA) are supposed to
have a right-hand orientation.

This PR also removes the RNA_ADD icon which is not used anywhere.

Based on suggestion by Brady Johnston.

Ref: !146600
2025-09-23 12:22:55 +02:00
Falk David
491a39b0c6 VSE: Strip Modifier Icons
Add missing icons to Video Sequencer modifiers:

- [x] Brightness/Contrast
- [x] Color Balance
- [x] Curves
- [x] Hue Correct
- [x] Mask (uses the existing `MOD_MASK`)
- [x] Tone Map
- [x] White Balance

Co-authored-by: Pablo Vazquez <pablo@blender.org>
Pull Request: https://projects.blender.org/blender/blender/pulls/145739
2025-09-10 19:27:43 +02:00
Pablo Vazquez
840310f607 UI: Add Icons for Edge/Vertex Crease and others
Edge and Vertex marks such as Crease, Bevel Weight, Seam, Sharp, have
specific use cases and colors assigned to them that users get familiar
with over time.

It can be hard to remember which color belong to what, this PR tries to
address this by introducing colored icons that follow the theme setting
for that edge mark/flag.

See PR for details and screenshots.

Pull Request: https://projects.blender.org/blender/blender/pulls/144075
2025-08-07 11:09:56 +02:00
Christoph Lendenfeld
befe6062c0 UI: Icons for playhead snapping
The recently introduced feature of playhead snapping (#137278)
added a popover menu for snap targets.
This used text to indicate the contents of said popover.
In order to bring it in line with the other snapping menu, this PR adds
icons to indicate the enabled state of snapping.

Part of #135794

Pull Request: https://projects.blender.org/blender/blender/pulls/139271
2025-08-05 09:01:56 +02:00
Harley Acheson
48403607dd UI: Status Bar Event Icons for Trackpad Gestures
Adding three icons to represent panning, rotate, and zoom gestures
and using them for status bar event icons for
GHOST_kTrackpadEventScroll, GHOST_kTrackpadEventRotate, and
GHOST_kTrackpadEventMagnify.

Pull Request: https://projects.blender.org/blender/blender/pulls/138569
2025-05-07 23:57:03 +02:00
Campbell Barton
43af16a4c1 Cleanup: spelling in comments, correct comment block formatting
Also use doxygen comments more consistently.
2025-05-01 11:44:33 +10:00
Jacques Lucke
8ec9c62d3e Geometry Nodes: add Closures and Bundles behind experimental feature flag
This implements bundles and closures which are described in more detail in this
blog post: https://code.blender.org/2024/11/geometry-nodes-workshop-october-2024/

tl;dr:
* Bundles are containers that allow storing multiple socket values in a single
  value. Each value in the bundle is identified by a name. Bundles can be
  nested.
* Closures are functions that are created with the Closure Zone and can be
  evaluated with the Evaluate Closure node.

To use the patch, the `Bundle and Closure Nodes` experimental feature has to be
enabled. This is necessary, because these features are not fully done yet and
still need iterations to improve the workflow before they can be officially
released. These iterations are easier to do in `main` than in a separate branch
though. That's because this patch is quite large and somewhat prone to merge
conflicts. Also other work we want to do, depends on this.

This adds the following new nodes:
* Combine Bundle: can pack multiple values into one.
* Separate Bundle: extracts values from a bundle.
* Closure Zone: outputs a closure zone for use in the `Evaluate Closure` node.
* Evaluate Closure: evaluates the passed in closure.

Things that will be added soon after this lands:
* Fields in bundles and closures. The way this is done changes with #134811, so
  I rather implement this once both are in `main`.
* UI features for keeping sockets in sync (right now there are warnings only).

One bigger issue is the limited support for lazyness. For example, all inputs of
a Combine Bundle node will be evaluated, even if they are not all needed. The
same is true for all captured values of a closure. This is a deeper limitation
that needs to be resolved at some point. This will likely be done after an
initial version of this patch is done.

Pull Request: https://projects.blender.org/blender/blender/pulls/128340
2025-04-03 15:44:06 +02:00
Campbell Barton
5e2b421996 WM: support the "Hyper" modifier key on Linux
Add support for a 5th modifier key called "hyper",
this is a modifier supported on Wayland & X11 although
other platforms could support an additional modifier too.

Both GNOME and KDE can map CapsLock to Hyper.
Other compositors can use the XKB_DEFAULT_OPTIONS environment variable.

This allows users to have an additional modifier for their own use
that doesn't conflict with other keys.

Ref !136340
2025-03-26 10:39:55 +11:00
Leon Schittek
821e0024d4 UI: Nodes: Add icons to socket type selection list
Add colored icons for node sockets based on the existing socket
draw function.

Resolves #89898

Pull Request: https://projects.blender.org/blender/blender/pulls/136212
2025-03-25 18:11:27 +01:00
Harley Acheson
c13d3e2f7a UI: Color Icons for Red, Green, & Blue
This adds icons for ICON_RGB_RED, ICON_RGB_GREEN, and ICON_RGB_BLUE
that display with those colors. This does not remove the existing
monochrome ICON_COLOR_* icons. This also allows the translation of
the "R", "G", "B" characters shown, for languages that prefer color
words that do not start with these.

Pull Request: https://projects.blender.org/blender/blender/pulls/136154
2025-03-21 01:57:32 +01:00
Harley Acheson
0ee642611c UI: Add Specific Icon to Represent Preview While Loading
Rather than continuing to use ICON_TEMP, meant to represent temporary
locations, this PR adds a specific one - ICON_PREVIEW_LOADING - for
this purpose. Just a copy of ICON_TEMP for now, but with all parts at
40% opacity, matching how we use it now. Not only gives us an icon we
can later change, but also removes our special handling of reducing
opacity for one icon id.

Pull Request: https://projects.blender.org/blender/blender/pulls/135463
2025-03-04 23:35:30 +01:00
Harley Acheson
e850a09762 UI: Add Icons to Represent Error Conditions
This PR adds three SVG Icons. One to represent that an icon is not
found - ICON_NOT_FOUND - so represent when an out-of-range value was
used to specify an icon. The second - ICON_CHAR_NOTDEF - is to
represent that a text character is not found in the specified font or
font stack. The third - ICON_CHAR_REPLACEMENT - is to indicate the
portion of a text string that contains invalid bytes.

Pull Request: https://projects.blender.org/blender/blender/pulls/134008
2025-02-19 01:11:24 +01:00
Harley Acheson
0dce68333f UI: Vertically Aligned Grip Icon
Add a variation of the current Grip icon that is vertically-aligned.
the current ICON_GRIP works great when it has lots of horizontal space,
but ICON_GRIP_V might be needed for horizontally constrained uses.

Pull Request: https://projects.blender.org/blender/blender/pulls/134777
2025-02-19 00:19:08 +01:00
Falk David
a9c87a15fc Cleanup: VSE: Rename SequenceColorTag to StripColorTag and flags
Also rename the flags from `SEQUENCE_COLOR_*` to `STRIP_COLOR_*`.
2025-01-07 17:19:24 +01:00
Campbell Barton
b9f055459a Cleanup: ensure trailing space around comment blocks 2024-11-27 19:01:00 +11:00
Pablo Vazquez
d6ec2f0539 UI: Update icon for Grease Pencil layer and group
The current icon for Grease Pencil layers is a pen, it doesn't really
communicate the "layer" aspect. Replace with a paper sheet-like icon.

The layer group gets its own icon. It's a stack of animation paper.

Inspired by Daniel Correa Flores's design on DevTalk:
https://devtalk.blender.org/t/ui-discussion-grease-pencil-layer-and-layer-group-icons/30693/25

Pull Request: https://projects.blender.org/blender/blender/pulls/128208
2024-09-27 17:24:40 +02:00
Dalai Felinto
d939557e4b UI: Fix viewport selection icons
These icons are extremely order dependent and set dynamically in a
four-way option at:

`rna_object_type_visibility_icon_get_common`

Problem introduced on: 60cc73afe6, when I sorted the non-toggle icons
alphabetically.

Bug reported by Pablo Vazquez in real life.
2024-09-09 11:10:51 +02:00
Dalai Felinto
60cc73afe6 Cleanup: UI: Icons: Sort the icons alphabetically between their categories
No functional changes.

The TOGGLES and INPUT were left untouched since they are order-dependent.

Ref: !127197

Pull Request: https://projects.blender.org/blender/blender/pulls/127197
2024-09-06 12:37:56 +02:00
Dalai Felinto
d563926d73 Cleanup: UI: Shuffle icons and group them in categories
No functional changes.

The comments in the file are used as categories by some of our ICON
reading tools.

This also groups the TOGGLES icons together, with comments about their
order. This only includes the icons actively used as toggles at the
moment.

Note that ICON_NONE has always to be the first one in this file since
some parts of the code (e.g., the code to turn RECORD_ON into colored,
and the code for the popover chevron) have no-icon hardcoded as 0.

Ref: !127197
2024-09-06 12:37:55 +02:00
Sybren A. Stüvel
4d4ad34f4c Anim: Action Slot icon
Add an icon for Action Slots. Design task: #123372

Pull Request: https://projects.blender.org/blender/blender/pulls/127102
2024-09-03 18:33:36 +02:00
Harley Acheson
810687ad5b UI: Improvement to Screen Area Options Menu Invoke Area Join
Right-clicking on an edge between editors, the "Screen Area Options"
menu has a number of items including for Area Join.  When docking is
NOT enabled this gives the prior behavior of interactive join where
you can change direction and requires Enter to confirm.  If docking
is enabled then there are instead instant join options but now with
a specific icon for each direction.

Pull Request: https://projects.blender.org/blender/blender/pulls/126616
2024-08-22 20:25:51 +02:00
Harley Acheson
7c68ac258f UI: File Browser Offline and Alias State Icon Position
#125625 moved the File Browser Thumbnail type icon location from the
bottom-left of the thumbnail extent to the bottom-left of the item
bounds. This does the same for the indication of offline and for
shortcut. This adds a new icon for shortcut instead of current use of
ICON_LOOP_FORWARDS, which doesn't look right. The new icon looks like
the Mac Alias arrow, but this also works fine for other platforms.

Pull Request: https://projects.blender.org/blender/blender/pulls/126469
2024-08-18 22:11:53 +02:00
Harley Acheson
aa78d43a05 UI: Multicolor Autokeying Indicator
Show the autokeying indicator (record button) on the Timeline header in
red when enabled. With a white outline on dark theme, or with a black
outline on light theme. The red color is user changeable.

Pull Request: https://projects.blender.org/blender/blender/pulls/126344
2024-08-16 23:16:40 +02:00
Harley Acheson
5fb140a36e UI: Status Bar Using SVG Icons
Refactor of how "event icons" are created, using custom SVG icons for
key outlines and some complex keys. Allows multiple key widths so that
"Ctrl", "Insert", etc can be readable. Strings are automatically sized
rather than hardcoded. Also allows these strings to be translated.
Supports the UI icon alpha preference.  Also supports local aspect in
case we ever want to allow 2D zooming there.

Pull Request: https://projects.blender.org/blender/blender/pulls/125591
2024-08-05 02:42:26 +02:00
Harley Acheson
a57c3be05e UI: Add SVG Icons for Status Bar Event Use
This adds 26 SVG icons (13 unfilled/filled pairs) for use on the Status
Bar for keymap indication. No other functional changes.

Pull Request: https://projects.blender.org/blender/blender/pulls/125868
2024-08-04 19:19:54 +02:00
Harley Acheson
989fcc2c4f UI: Mouse Event Icon Alignment
We have a number of event icons, used on the Status Bar, to indicate
mouse actions. It is currently difficult to align these nicely because
they vary in width and design. This PR makes them all the same design
width and aligned to the left edge. This removes a need to add negative
spacing before any of them and only requires space after some of them.
This also adds a new one to indicate "double left click" as my current
use of this looks a bit sus. This also adds a "mouse wheel scroll"

Pull Request: https://projects.blender.org/blender/blender/pulls/125731
2024-07-31 20:57:19 +02:00
Jacques Lucke
ae129da4f7 UI: new Geometry Set icon
This icon can be used when refering to a "geometry set" which can contain
potentially multiple geometries of different types (such as mesh, volume, etc.).

It was designed by Simon Thommes as part of #125293.
2024-07-29 20:37:21 +02:00
Kamil Galik
3da3f678eb GHOST/NDOF: Extend NDOF devices support on Windows
Commit adds support for new format of RawInput packets used by
3Dconnexion devices: SpaceMouse Enterprise, Keyboard Pro and Numpad Pro
specifically. This required distinguishing processing button data
delivered as a bitmask and as a numbers array.

Basically it allows for using said devices buttons in Blender including
using these buttons in shortcuts.

Changes work only for Windows. MacOS will allow only for older format
that is bitmask.

Details:

- NDOF button event values have been moved into the public GHOST_Types.h
  header and are no longer aligned to the WM event values.
  This was done so the values could be changed to match hardware/drivers
  without breaking key-maps stored in user preferences.
- Keyboard Pro and Numpad Pro buttons are not currently used because
  they don't map to any standard keyboard events.
  These could be supported, see the PR for details.

Ref: !124155
2024-07-24 12:37:08 +10:00
Julian Eisel
a843d93bd1 Cleanup: Remove unused icon defines
Missed these in 088b885087.
2024-07-15 14:15:11 +02:00
Harley Acheson
cfe77fbafd UI: Use Official Blender Logo As Blender Icon
Our icon sources currently include two versions of the Blender logo,
the official one and one that is modified to align better to our
smallest pixel grid. But with our recent change to SVG icons, and
alignment tweaks to the official version this can be used in all
cases. This PR does so, removes BLENDER_LARGE, and also slightly
tweaks FILE_BACKUP and FILE_BLEND to use the official form.

Pull Request: https://projects.blender.org/blender/blender/pulls/124179
2024-07-11 01:15:07 +02:00
Harley Acheson
4ef2381ce3 Cleanup: UI: Remove Unused Icon Texture Drawing Code
About 330 lines of code removed that supported the old
ICON_TYPE_COLOR_TEXTURE icon drawing.

Pull Request: https://projects.blender.org/blender/blender/pulls/123868
2024-06-28 05:25:18 +02:00
Harley Acheson
f715f3853f UI: Add Support for Large Use UI Icons
Add definitions for the UI icons that we use in larger sizes, like in
the File Browser or in dialogs. The SVG source files for these are
already in the project, this just allows their use like ICON_FILE_LARGE
or ICON_WARNING_LARGE.

Pull Request: https://projects.blender.org/blender/blender/pulls/123622
2024-06-23 04:43:17 +02:00
Harley Acheson
c295c9f818 Fix #123594: ICON_NONE Should be No Op
Using ICON_NONE causes textures to be referenced even though nothing
is ultimately drawn. This adds an early exit for this value, and also
changes the type of it from ICON_TYPE_COLOR_TEXTURE (used to display
a full-color bitmap) to ICON_TYPE_MONO_TEXTURE (normal one-color type
now coming from SVG).

Pull Request: https://projects.blender.org/blender/blender/pulls/123609
2024-06-22 19:26:21 +02:00
Pratik Borhade
cea18e62c5 GPv3: Layer group color tags
Reused the collection color theme option for the layer group.
Introduced new operator change the icon color it can be accessed from
layer group context menu.

Part of #121390.

Pull Request: https://projects.blender.org/blender/blender/pulls/122873
2024-06-11 18:25:01 +02:00
Pablo Vazquez
7b601464c3 UI: Add new TAG icon
Introduce a new icon: `TAG`. A generic tag/label, to be used anywhere
there are tags.

Details and images in the pull request.

Pull Request: https://projects.blender.org/blender/blender/pulls/122738
2024-06-05 17:56:51 +02:00
Dalai Felinto
35a3e64141 UI: Icons: INTERNET_OFFLINE
* INTERNET_OFFLINE icon was discussed here: !122225

Ref: !122486
2024-05-30 17:18:33 +02:00
Sybren A. Stüvel
51e1f29a68 Anim: Add new keyframe type 'GENERATED'
Add a new keyframe type named 'generated', which is meant to indicate
that the key was set by some automated tool (like an add-on), rather
than manually by an animator.

This is meant for tooling that needs to create keys in a repeatable way.
With this new key type, the tool can know which keys it generated
before, and thus those can be removed and re-generated.

Pull Request: https://projects.blender.org/blender/blender/pulls/120564
2024-04-15 10:42:54 +02:00
Harley Acheson
d1b6621903 UI: Complete Event Icon Coverage
This PR completes coverage of the event icons used to represent keymap
entries on the status bar. This adds 0-9, non-alpha keys, tablet, F13-
F24, NDOF buttons, etc.

Pull Request: https://projects.blender.org/blender/blender/pulls/120117
2024-04-02 21:52:57 +02:00
Harley Acheson
42e7a720c9 UI: Add "Internet" Icon
Add an icon called INTERNET that looks like our current URL without the
mouse cursor, so it looks less specifically like a web document. So can
be used to represent other internet and cloud-based services.

Pull Request: https://projects.blender.org/blender/blender/pulls/119186
2024-03-13 02:13:07 +01:00
Harley Acheson
d7593c8845 UI: Multiple Interface Icon Additions and Changes
Additional icons for face corner, pointcloud points needed for general
usage. Unselected camera, view locked, and view unlocked for #111076.
Changes to mod_mask for #117467. pointcloud_data changed only for
alignment change. Running Update Icons also changed mod_explode.

Pull Request: https://projects.blender.org/blender/blender/pulls/117732
2024-02-01 20:08:26 +01:00
Harley Acheson
f42071c793 UI: Updated Auto Keying Button Icon
Changing the icons used for auto keying to be more noticeable.

Pull Request: https://projects.blender.org/blender/blender/pulls/105574
2024-01-08 23:16:56 +01:00
Harley Acheson
8933284518 UI: Icons for Area Join and Swap
Icons provided by Alexey Adamitsky to represent screen area join and
screen area swap.

Pull Request: https://projects.blender.org/blender/blender/pulls/115712
2023-12-02 20:08:01 +01:00
Stefan Heinz
153dd76d22 UI: Icons for Horizontal and Vertical Split
Adding new icons to represent horizontal and vertical area splitting.

Pull Request: https://projects.blender.org/blender/blender/pulls/114433
2023-11-15 20:16:49 +01:00
Miguel Pozo
1ba16edaf0 EEVEE-Next: Rename light probes
Update to the new naming convention for `Light Probes`:

`Reflection Cubemap` -> `Sphere`
`Reflection Plane` -> `Plane`
`Irradiance Grid` -> `Volume`

Note that this breaks the Python API (`bpy.types.LightProbe.type`).

Pull Request: https://projects.blender.org/blender/blender/pulls/113452
2023-10-11 19:38:42 +02:00
Campbell Barton
e955c94ed3 License Headers: Set copyright to "Blender Authors", add AUTHORS
Listing the "Blender Foundation" as copyright holder implied the Blender
Foundation holds copyright to files which may include work from many
developers.

While keeping copyright on headers makes sense for isolated libraries,
Blender's own code may be refactored or moved between files in a way
that makes the per file copyright holders less meaningful.

Copyright references to the "Blender Foundation" have been replaced with
"Blender Authors", with the exception of `./extern/` since these this
contains libraries which are more isolated, any changed to license
headers there can be handled on a case-by-case basis.

Some directories in `./intern/` have also been excluded:

- `./intern/cycles/` it's own `AUTHORS` file is planned.
- `./intern/opensubdiv/`.

An "AUTHORS" file has been added, using the chromium projects authors
file as a template.

Design task: #110784

Ref !110783.
2023-08-16 00:20:26 +10:00