blender/intern/ghost
Damien Plisson af2e6c38e9 Drag & drop implementation at GHOST level (only OSX for now)
The dragging sequence is performed in four phases:
 
- Start sequence (GHOST_kEventDraggingEntered) that tells a drag'n'drop operation has started. Already gives the object data type, and the entering mouse location

- Update mouse position (GHOST_kEventDraggingUpdated) sent upon each mouse move until the drag'n'drop operation stops, to give the updated mouse position.
Useful to highlight a potential destination, and update the status (through GHOST_setAcceptDragOperation) telling if the object can be dropped at the current cursor position.

- Abort drag'n'drop sequence (GHOST_kEventDraggingExited) sent when the user moved the mouse outside the window.

- Send the dropped data (GHOST_kEventDraggingDropDone)

- Outside of the normal sequence, dropped data can be sent (GHOST_kEventDraggingDropOnIcon). This can happen when the user drops an object on the application icon. (Also used in OSX to pass the filename of the document the user doubled-clicked in the finder)

Note that the event handler is responsible for freeing the received data.
And the mouse position is sent directly in blender client coordinates (y=0 at bottom)

The GHOST_setAcceptDragOperation(TRUE) call must be placed before the user drops the object for it to be accepted.

Current handled data types :
- Text string
- Array of filenames (full paths)
- Bitmap image (not implemented yet)
2009-11-10 12:56:46 +00:00
..
doc This commit fixes up a bunch of svn properties to hopefully make things a little nicer for everyone. 2007-08-28 10:07:08 +00:00
intern Drag & drop implementation at GHOST level (only OSX for now) 2009-11-10 12:56:46 +00:00
make Merge of itasc branch. Project files, scons and cmake should be working. Makefile updated but not tested. Comes with Eigen2 2.0.6 C++ matrix library. 2009-09-24 21:22:24 +00:00
test Big, big commit!! 2009-05-05 23:10:32 +00:00
CMakeLists.txt Cocoa port start: 2009-09-30 08:47:39 +00:00
GHOST_C-api.h Drag & drop implementation at GHOST level (only OSX for now) 2009-11-10 12:56:46 +00:00
GHOST_IEvent.h Patch from GSR that a) fixes a whole bunch of GPL/BL license 2008-04-16 22:40:48 +00:00
GHOST_IEventConsumer.h Patch from GSR that a) fixes a whole bunch of GPL/BL license 2008-04-16 22:40:48 +00:00
GHOST_ISystem.h Drag & drop implementation at GHOST level (only OSX for now) 2009-11-10 12:56:46 +00:00
GHOST_ITimerTask.h Patch from GSR that a) fixes a whole bunch of GPL/BL license 2008-04-16 22:40:48 +00:00
GHOST_IWindow.h wrap the mouse within the region while grabbing so on release the current view never changes and less likelyhood of loosing the cursor when running blender on 2+ screens. (assuming the 3d view isnt stretched over both) 2009-10-17 19:32:28 +00:00
GHOST_Rect.h - wrapping failed with the cursor at the screen edge, 2009-10-17 14:54:13 +00:00
GHOST_Types.h Drag & drop implementation at GHOST level (only OSX for now) 2009-11-10 12:56:46 +00:00
Makefile Makefile updates for Blender 2.5 (from GSR) 2009-03-19 01:50:45 +00:00
SConscript Mac / COCOA : 2009-10-30 20:20:48 +00:00