Age | Commit message (Collapse) | Author |
|
|
|
|
|
Practically all access to enum data is read-only.
|
|
|
|
|
|
Cyclic extrapolation is implemented as an f-curve modifier, so this
technically violates abstraction separation and is something of a hack.
However without such behavior achieving smooth looping with cyclic
extrapolation is extremely cumbersome.
The new behavior is applied when the first modifier is Cyclic
extrapolation in Repeat or Repeat with Offset mode without
using influence, repeat count or range restrictions.
This change in behavior means that curve handles have to be updated
when the modifier is added, removed or its options change. Due to the
way code is structured, it seems it requires a helper link to the
containing curve from the modifier object.
Reviewers: aligorith
Differential Revision: https://developer.blender.org/D2783
|
|
|
|
|
|
Convention was only followed loosely,
apply to DNA where changes aren't likely to conflict.
(Skipped ModifierType for eg).
|
|
|
|
|
|
|
|
Thanks for Clément Foucault for finding where to tackle.
|
|
Engine is not stored in WorkSpaces. That defines the "context" engine, which
is used for the entire UI.
The engine used for the poll of nodes (add node menu, new nodes when "Use Nodes")
is obtained from context.
Introduce a ViewRender struct for viewport settings that are defined for
workspaces and scene. This struct will be populated with the hand-picked
settings that can be defined per workspace as per the 2.8 design.
* use_scene_settings
* properties editor: workshop + organize context path
Use Scene Settings
==================
For viewport drawing, Workspaces have an option to use the Scene render
settings (F12) instead of the viewport settings.
This way users can quickly preview the final render settings, engine and
View Layer. This will affect all the editors in that workspace, and it will be
clearly indicated in the top-bar.
Properties Editor: Add Workspace and organize context path
==========================================================
We now have the properties of:
Scene, Scene > Layer, Scene > World, Workspace
[Scene | Workspace] > Render Layer > Object
[Scene | Workspace] > Render Layer > Object > Data
(...)
Reviewers: Campbell Barton, Julian Eisel
Differential Revision: https://developer.blender.org/D2842
|
|
|
|
Border and circle select wait for input by default.
This commit uses bool properties on the operators instead of
magic number (called "gesture_mode").
Keymaps that define 'deselect' for border/circle select
begin immediately, exiting when on button release.
|
|
Use same convention as all others.
Remove 'select' since these are used for zoom as well.
|
|
In preparation for modal operators storing their properties,
no need to keep mouse-paths around.
Also use generic function for lasso properties.
|
|
Replace with operator type 'last_properties'.
Also use generic function for circle gesture properties.
|
|
|
|
Wasn't obvious what this did at a glance.
|
|
|
|
Was using bound-box center which depends on rotation.
|
|
Relied on this being set elsewhere which isn't assured.
|
|
|
|
Bezier curves should have v-points zero'd.
|
|
|
|
|
|
Hide-flag wasn't set so option shows up in keymap editor. But seems like
that flag is ignored there by now anyway.
|
|
Previous code, while more correct than old master one, could still lead
to invalid state in some corner cases (like linked scenes...).
|
|
Conflicts:
source/blender/editors/screen/screen_edit.c
|
|
User count of scenes was inconsistant, screens only have 'user_one' kind
of owning over scenes, which means they shall never increment or
decrement their real user count. And usually, scenes have no real user
at all.
|
|
cases.
Would happen during panel's refresh drawing, if drawing code had to adjust
final panel position compared to the initial one computed based on the
mouse coordinates, and user had dragged the floating panel around.
Issue fixed by adjusting stored mouse coordinates once final panel
position is known, such that they would directly generate those
coordinates. that way, the basic offset applied to those stored mouse
coordinates during panel dragging is valid, and recreating panel based
on those won't make it jump in screen.
Note that panel will still jump in case user dragged it partially out of
view - we could prevent that, but imho it's better to keep that
behavior, since redraw can generate a popup of different size, which
could end up with a totally out-of-view one...
Hopefully this fix does not break anything else!
|
|
|
|
Removed old logic for brush texture which was being applied twice.
|
|
Also avoid passing large struct as value.
|
|
Swapping gave values from the state before the last.
Thanks to @angavrilov for spotting.
|
|
|
|
For now only show this when scale manipulator is active.
|
|
|
|
This was introduced on 9ad2c0b6154 and partly mended on 8a1d787b89.
|
|
|
|
Add Inputs and Transform submenus.
|
|
Note that our library path handling is still rather dodgy on this
regards, shall take some time at some point to seriously sanitize it...
|
|
Just removing the checkbox from UI isn't enough for proper behavior.
|
|
Instead of trying to be clever with swaps and lazy updating the weight
data, simply recalculate one single array. To improve performance, use
threading for that.
|
|
|
|
This was introduced on 9ad2c0b6154.
Although this still doesn't fix the issue, it updates the preview
system to use COLLECTION_DISABLED as intended.
What is missing now is for the flushing to work effectively.
|
|
|
|
|