This repository has been archived on 2023-10-09. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
blender-archive/source/blender/editors/space_node
Ton Roosendaal 8fd6f6433f 2.5
Sanitized the 'tweak' event.

Original idea was to have WM event system generating it 
automatically. However, I first tested it via a handler
and operator, to check what kind of configurations would
be useful. It appeared to not work nice, also because
that inserting a tweak operator in a keymap is confusing.

Now 'tweaks' are generated automatically, and can be
catched by keymaps as any event. The current definition
of tweak is:

- if Left/Middle/Rightmouse pressed
    if event wasn't handled by window queue (modal handlers)
       start checking mousepositions

- while mousepositions are checked
   - escape on any event other than mouse
   - on mouse events:
     - add tweak event if mousemove > 10 pixels
     - stop checking for tweak if mousebutton released

- Tweak events have a define indicating mousebutton used
  EVT_TWEAK_L, EVT_TWEAK_M, EVT_TWEAK_R  

- In keymap definitions you can use _S or _A to map to
  action or select mouse userdef.

- Event value in keymap should be KM_ANY for all tweaks,
  or use one of the eight directions:
  EVT_GESTURE_E, _SE, _S, _SW, _W, _NW, _N, _NE 

- And of course you can add modifier checks in keymaps for it.

- Because tweaks are a result of mouse events, the handlers get
  both to evaluate. That means that RMB-select + tweak will work
  correctly.
  In case you don't want both to be handled, for example the 
  CTRL+LMB 'extrude' and CTRL+LMB-tweak 'lasso select', you will
  need to set the first acting on a EVT_RELEASE, this event only
  gets passed on when tweak fails.

The current system allows all options, configurable, we had in 2.48,
and many more! A diagram of what's possible is on the todo. :)

Also in this commit: lasso select editmesh failed with 'zbuffer 
occluded select'. Also circle-select failed.
2009-02-02 14:13:14 +00:00
..
2.5
2009-01-27 17:54:49 +00:00
2.5
2008-12-28 11:28:44 +00:00
2009-01-30 12:18:08 +00:00
2.5
2009-01-31 19:40:40 +00:00
2.5
2009-01-31 19:40:40 +00:00
2.5
2009-01-27 17:12:40 +00:00
2.5
2009-02-02 14:13:14 +00:00
2.5
2009-01-31 19:40:40 +00:00
2.5
2009-01-31 19:40:40 +00:00
2008-12-29 00:55:23 +00:00