2.5: WIP commit for WM compositing.
authorBrecht Van Lommel <brechtvanlommel@pandora.be>
Tue, 20 Jan 2009 21:55:48 +0000 (21:55 +0000)
committerBrecht Van Lommel <brechtvanlommel@pandora.be>
Tue, 20 Jan 2009 21:55:48 +0000 (21:55 +0000)
commit8d4a9081cc65ab262448287c2875f534bc76f6aa
tree41c2ca9ab0f581d4364075ae817a2d219c182bfe
parent5ddc9ed1dafbbf263fda1bc9e535f48237a44583
2.5: WIP commit for WM compositing.

* Drawing code from wm_event_system.c split into separate wm_draw.c file.

Now there's 3 different draw methods implemented, not sure what survives
or will be added but is useful for debugging.

* Draw All: redraws everything each time, for reference.
* Draw Overlap All: what the code did before this commit, only draw
  regions marked for redraw, and anything that overlaps them.
* Triple Buffer: copies/retores all area regions into a texture, and
  blits that before drawing. Menus, brushes, gestures, etc are redrawn
  always on top of that.

Currently "Draw Overlap All" is set hardcoded to be used still. Triple
Buffer code is not complete, it doesn't handle window resize yet. Cards
that don't support non power of two textures can need quite large
textures as well, this could be split into multiple smaller ones.
source/blender/blenloader/intern/readfile.c
source/blender/editors/include/ED_screen.h
source/blender/editors/screen/area.c
source/blender/editors/screen/screen_edit.c
source/blender/gpu/GPU_extensions.h
source/blender/makesdna/DNA_windowmanager_types.h
source/blender/windowmanager/intern/wm_draw.c [new file with mode: 0644]
source/blender/windowmanager/intern/wm_event_system.c