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:
Diffstat (limited to 'source/blender/blenkernel/BKE_screen.h')
-rw-r--r--source/blender/blenkernel/BKE_screen.h28
1 files changed, 18 insertions, 10 deletions
diff --git a/source/blender/blenkernel/BKE_screen.h b/source/blender/blenkernel/BKE_screen.h
index 49e6b20725d..77179122b6e 100644
--- a/source/blender/blenkernel/BKE_screen.h
+++ b/source/blender/blenkernel/BKE_screen.h
@@ -52,16 +52,15 @@ typedef struct SpaceType {
int spaceid; /* unique space identifier */
int iconid; /* icon lookup for menus */
- /* calls init too */
+ /* initial allocation, after this WM will call init() too */
struct SpaceLink *(*new)(void);
/* not free spacelink itself */
void (*free)(struct SpaceLink *);
- /* init is to cope with internal contextual changes, adds handlers,
- * creates/sets screarea regions */
+ /* init is to cope with file load, screen (size) changes, check handlers */
void (*init)(struct wmWindowManager *, struct ScrArea *);
- /* refresh is for external bContext changes */
- void (*refresh)(struct bContext *, struct ScrArea *);
+ /* Listeners can react to bContext changes */
+ void (*listener)(struct ARegion *, struct wmNotifier *);
/* after a spacedata copy, an init should result in exact same situation */
struct SpaceLink *(*duplicate)(struct SpaceLink *);
@@ -76,6 +75,9 @@ typedef struct SpaceType {
/* read and write... */
+ /* default keymaps to add */
+ int keymapflag;
+
} SpaceType;
/* region types are also defined using spacetypes_init, via a callback */
@@ -85,18 +87,24 @@ typedef struct ARegionType {
int regionid; /* unique identifier within this space */
- void (*init)(const struct bContext *, struct ARegion *); /* add handlers, stuff you only do once or on area/region changes */
- void (*refresh)(const struct bContext *, struct ARegion *); /* refresh to match contextual changes */
- void (*draw)(const struct bContext *, struct ARegion *); /* draw entirely, windowsize changes should be handled here */
-
+ /* add handlers, stuff you only do once or on area/region type/size changes */
+ void (*init)(struct wmWindowManager *, struct ARegion *);
+ /* draw entirely, view changes should be handled here */
+ void (*draw)(const struct bContext *, struct ARegion *);
+ /* contextual changes should be handled here */
void (*listener)(struct ARegion *, struct wmNotifier *);
+
void (*free)(struct ARegion *);
/* register operator types on startup */
void (*operatortypes)(void);
- /* add default items to keymap */
+ /* add own items to keymap */
void (*keymap)(struct wmWindowManager *);
+ /* hardcoded constraints, smaller than these values region is not visible */
+ int minsizex, minsizey;
+ /* default keymaps to add */
+ int keymapflag;
} ARegionType;