diff options
author | Tamito Kajiyama <rd6t-kjym@asahi-net.or.jp> | 2012-08-12 04:09:57 +0400 |
---|---|---|
committer | Tamito Kajiyama <rd6t-kjym@asahi-net.or.jp> | 2012-08-12 04:09:57 +0400 |
commit | 44e4c5f8316b34835c7900dc649bf8a1570afc0a (patch) | |
tree | 99027196ffd166c78c336126d36c36bbc1621a29 /source/blender/windowmanager/WM_types.h | |
parent | 8a340981be174cae842d339f0458ba6b558330c3 (diff) | |
parent | 0682c3f1aefe315df5fe64ba8c814adacbd739e5 (diff) |
Merged changes in the trunk up to revision 49797.
Diffstat (limited to 'source/blender/windowmanager/WM_types.h')
-rw-r--r-- | source/blender/windowmanager/WM_types.h | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/source/blender/windowmanager/WM_types.h b/source/blender/windowmanager/WM_types.h index 72d2bf9d1f1..bcba7a76ec8 100644 --- a/source/blender/windowmanager/WM_types.h +++ b/source/blender/windowmanager/WM_types.h @@ -28,6 +28,73 @@ * \ingroup wm */ +/* + * Overview of WM structs + * ====================== + * + * > wmWindowManager (window manager stores a list of windows) + * > > wmWindow (window has an active screen) + * > > > bScreen (link to ScrAreas via 'areabase') + * > > > > ScrArea (stores multiple spaces via space links via 'spacedata') + * > > > > > SpaceLink (base struct for space data for all different space types) + * > > > > ScrArea (stores multiple regions via 'regionbase') + * > > > > > ARegion + * + * + * Window Layout + * ============= + * + * wmWindow -> bScreen + * +----------------------------------------------------------+ + * |+-----------------------------------------+-------------+ | + * ||ScrArea (links to 3D view) |ScrArea | | + * ||+-------++----------+-------------------+|(links to | | + * |||ARegion|| |ARegion (quad view)|| properties) | | + * |||(tools)|| | || | | + * ||| || | || | | + * ||| || | || | | + * ||| || | || | | + * ||| |+----------+-------------------+| | | + * ||| || | || | | + * ||| || | || | | + * ||| || | || | | + * ||| || | || | | + * ||| || | || | | + * ||+-------++----------+-------------------+| | | + * |+-----------------------------------------+-------------+ | + * +----------------------------------------------------------+ + * + * + * Space Data + * ========== + * + * ScrArea's store a list of space data (SpaceLinks), each of unique type. + * The first one is the displayed in the UI, others are added as needed. + * + * +----------------------------+ <-- sa->spacedata.first; + * | | + * | |---+ <-- other inactive SpaceLink's stored. + * | | | + * | | |---+ + * | | | | + * | | | | + * | | | | + * | | | | + * +----------------------------+ | | + * | | | + * +-----------------------------+ | + * | | + * +------------------------------+ + * + * A common way to get the space from the ScrArea: + * + * if (sa->spacetype == SPACE_VIEW3D) { + * View3D *v3d = sa->spacedata.first; + * ... + * } + * + */ + #ifndef __WM_TYPES_H__ #define __WM_TYPES_H__ |