Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTamito Kajiyama <rd6t-kjym@asahi-net.or.jp>2012-08-12 04:09:57 +0400
committerTamito Kajiyama <rd6t-kjym@asahi-net.or.jp>2012-08-12 04:09:57 +0400
commit44e4c5f8316b34835c7900dc649bf8a1570afc0a (patch)
tree99027196ffd166c78c336126d36c36bbc1621a29 /source/blender/windowmanager/WM_types.h
parent8a340981be174cae842d339f0458ba6b558330c3 (diff)
parent0682c3f1aefe315df5fe64ba8c814adacbd739e5 (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.h67
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__