Age | Commit message (Collapse) | Author |
|
* It can be hidden by dragging it up/down.
* It can be at the top or bottom, independent of the header.
* It uses the color theme from the header.
* It does not change its color, when the area becomes active.
Currently, it is used in the text editor to display the file path.
Differential Revision: https://developer.blender.org/D4601
|
|
The region should be restored correctly, there is already a similar test for
areas to be preserved.
|
|
This was using hard coded values of 2-3px.
Move both drag and motion thresholds to defines.
|
|
|
|
Model keymaps wasn't matching double-click events with press
as is done in regular keymap handling.
|
|
Convention was not to but after discussion on 918941483f7e we agree its
best to change the convention.
Names now mostly follow RNA.
Some exceptions:
- Use 'nodetrees' instead of 'nodegroups'
since the struct is called NodeTree.
- Use 'gpencils' instead of 'grease_pencil'
since 'gpencil' is a common abbreviation in the C code.
Other exceptions:
- Leave 'wm' as it's a list of one.
- Leave 'ipo' as is for versioning.
|
|
We already have different storages for cddata of verts, edges etc.,
'simply' do the same for the mask flags we use all around Blender code
to request some data, or limit some operation to some layers, etc.
Reason we need this is that some cddata types (like Normals) are
actually shared between verts/polys/loops, and we don’t want to generate
clnors everytime we request vnors!
As a side note, this also does final fix to T59338, which was the
trigger for this patch (need to request computed loop normals for
another mesh than evaluated one).
Reviewers: brecht, campbellbarton, sergey
Differential Revision: https://developer.blender.org/D4407
|
|
spotted by @miclack, thx!
|
|
Previously a modifier key-map type only worked when the same key was
enabled as a modifier as well.
This allows for users to assign an action to double-tap-shift for eg.
|
|
Also no need to map the event type for inactive keys.
|
|
Now there are two callbacks, the name 'keymap_callback' is too vague.
|
|
Add getter callback support for 'WM_HANDLER_TYPE_KEYMAP' type handlers
this is needed for key-maps which change based on the active tool.
Replaces 'sneaky_handler' hack which temporarily inserted a handler.
|
|
Avoids having type specific handler names.
|
|
Each handler type now has it's own block (fileselect was an exception).
|
|
Makes it more clear it's the header/start of the struct.
|
|
|
|
|
|
|
|
Illuminate dead code, using wmEventHandler_KeymapFn from gizmo handler
type where it was never set.
|
|
|
|
|
|
|
|
|
|
Currently it's effectively a boolean for file-select handlers.
Prepare for refactoring event handlers into their own types (keymap,
operator, gizmo, ui & dropbox) to help make logic easier to follow.
|
|
While \file doesn't need an argument, it can't have another doxy
command after it.
|
|
Tools were relying on gizmos drawing to initialize their gizmos,
now tool gizmos are initialized immediately.
|
|
Move \ingroup onto same line to be more compact and
make it clear the file is in the group.
|
|
This feature is intended only for testing,
to automate simulating user input.
- Enabled by '--enable-event-simulate'.
- Disables handling all real input events.
- Access by calling `Window.event_simulate(..)`
- Disabling `bpy.app.use_event_simulate`
to allow handling real events (can only disable).
Currently only mouse & keyboard events work well,
NDOF, IME... etc could be added as needed.
See D4286 for example usage.
|
|
BF-admins agree to remove header information that isn't useful,
to reduce noise.
- BEGIN/END license blocks
Developers should add non license comments as separate comment blocks.
No need for separator text.
- Contributors
This is often invalid, outdated or misleading
especially when splitting files.
It's more useful to git-blame to find out who has developed the code.
See P901 for script to perform these edits.
|
|
This allows operators to distinguish between redo and executing
repeat last operator, needed for T60777 fix.
|
|
This reverts commit 1d908bffddb4c9815a986305ad4588032b81deee.
Enough uses of repeat last expect skip-save properties to be set,
transform being the most obvious example T60777#605681.
I wanted to avoid operators having account for two kinds of 'skip-save'
but this may be unavoidable.
|
|
The statusbar keymap display should not affect actual event handling.
|
|
PROP_SKIP_SAVE is often used as a way to detect the difference between
adjusting options from the redo panel and initial execution.
Repeat last operator was executing with skip-save properties set,
preventing operators from initializing them based on the context.
Fixes 60777.
|
|
|
|
|
|
In a better way...
6dbfd7f6d6bc would make the final vertex weights always calculated in
edit mode. Now it's only if the option is enabled.
|
|
|
|
Now its possibly to ask for only keyboard/mouse/ndof events
when finding key map items.
|
|
|
|
Helps separate variable names from descriptive text.
Was already used in some parts of the code,
double space and dashes were used elsewhere.
|
|
|
|
Not sharing caused duplication in the keymap and
required a factory class generator.
Simplify tool & keymap definitions by sharing them.
It's highly unlikely we will ever want these to use different keys
once they're set as the active tool.
|
|
Also correct function name (gizmo -> tool).
|
|
There is a new `bpy.app.timers` api.
For more details, look in the Python API documentation.
Reviewers: campbellbarton
Differential Revision: https://developer.blender.org/D3994
|
|
This fixes conflicts where the tool and editor keymap use different event
types. Tools need to be able to mouse buttons on PRESS without triggering
CLICK events in the editor keymap.
|
|
Previously this was hardcoded to 2 pixels, which is too low for tablets and
not taking into account DPI. Now we set it equal to the tweak threshold, so
you either always do click or drag.
The default distance of 10 pixels may be quite far for something to be
considered a click, and we'll need to see how well it works. But I find this
to help a lot when selecting vertices in quick succession.
Thanks to Julien for spotting this.
|
|
The intention is to fix a too low default threshold on high DPI screen.
Users with high DPI screens that have increased the threshold to fix this
or liked the lower threshold will need to lower it again.
This is still somewhat of a guess, ideally this would be based on the
physical distance travalled, and maybe different per type of input device.
However we do not have access to this information, and hope this gives a
better default.
|
|
Grease Pencil already implements support for full-featured
per-brush pressure curves, but it is useful to have some
basic global settings that affect all brushes and tools.
This adds two simple options:
- Raw pressure required to achieve full brush intensity.
- Softness control, using a gamma curve internally.
The most important one is the max pressure setting, because it is
critical for ergonomics, but the Linux Wacom driver lacks it.
The softness option internally converts to gamma = 4^-softness.
Reviewers: brecht, campbellbarton
Differential Revision: https://developer.blender.org/D3967
|
|
This may improve reliability with left click select and pen input, assuming
that the place where the pen first touched the surface is closer to the
intended location than where it was released from the surface.
I'm not sure if this will make a significant difference in practice, but it
seems worth a try.
|
|
For Blender builtin configurations the option to choose the select mouse remains
and is now also in the splash screen. It works by changing the keymap dynamically
in the script, rather than using special events.
The system of automatic switching of events was not flexible enough to deal with
side effects that require further keymap changes, so it is now under more manual
control in the script.
This breaks compatibility for some scripts and exported key configurations.
These can be fixed by replacing SELECTMOUSE, ACTIONMOUSE, EVT_TWEAK_S and
EVT_TWEAK_A with appropriate LEFTMOUSE, RIGHTMOUSE, EVT_TWEAK_L and
EVT_TWEAK_R events.
Other than that, there should be no functional changes.
|