Custom Manipulators Core Backend

This commit lands the core backend of the Custom Manipulators project onto the blender2.8 branch. It is a generic backend for managinig interactive on-screen controls that can be integrated into any 2D or 3D edito. It's also already integrated into the window-manager and editor code where needed.

NOTE: The changes here should not be visible for users at all. It's really just a back-end patch. Neither does this include any RNA or Python integration.

Of course, there's still lots of work ahead for custom manipulators, but this is a big milestone. WIP code that actually uses this backend can be found in the 'custom-manipulators' branch (previously called 'wiggly-widgets').

The work here isn't completely my own, all the initial work was done by @Antony Riakiotakis (psy-fi) and - although it has changed a lot since them - it's still the same in essence. He definitely deserves a big credit! Some changes in this patch were also done by @Campbell Barton (campbellbarton). Thank you guys!

Merge accepted by @brecht and @merwin.
Patch: https://developer.blender.org/D2232
Code documentation: https://wiki.blender.org/index.php/Dev:2.8/Source/Custom_Manipulator
Main task: https://developer.blender.org/T47343
More info: https://code.blender.org/2015/09/the-custom-manipulator-project-widget-project/
This commit is contained in:
Julian Eisel
2016-10-07 16:34:55 +02:00
parent 53d1dbbe5c
commit 6e358a1d06
29 changed files with 2786 additions and 11 deletions

View File

@@ -25,6 +25,8 @@
set(INC
.
manipulators
manipulators/intern
../blenfont
../blenkernel
../blenlib
@@ -68,6 +70,10 @@ set(SRC
intern/wm_subwindow.c
intern/wm_window.c
intern/wm_stereo.c
manipulators/intern/wm_manipulator.c
manipulators/intern/wm_manipulatorgroup.c
manipulators/intern/wm_manipulatormap.c
manipulators/intern/manipulator_library/manipulator_library_utils.c
WM_api.h
WM_keymap.h
@@ -80,6 +86,11 @@ set(SRC
wm_files.h
wm_subwindow.h
wm_window.h
manipulators/WM_manipulator_api.h
manipulators/WM_manipulator_types.h
manipulators/wm_manipulator_wmapi.h
manipulators/intern/wm_manipulator_intern.h
manipulators/intern/manipulator_library/manipulator_library_intern.h
)
if(WITH_AUDASPACE)