Merge branch 'master' into blender2.8
authorCampbell Barton <ideasman42@gmail.com>
Sun, 3 Jun 2018 13:20:11 +0000 (15:20 +0200)
committerCampbell Barton <ideasman42@gmail.com>
Sun, 3 Jun 2018 13:20:11 +0000 (15:20 +0200)
1  2 
source/blender/blenkernel/BKE_screen.h

index 722a36c9f1d6532a4977078e512525e2d4eab8b5,2316340f65ecf1a61e5a5dc79fce7ede95e049b0..c560e4d4de13b6a39acfa23d69e13bbe884b92e5
@@@ -41,9 -41,7 +41,9 @@@ struct Menu
  struct Panel;
  struct Scene;
  struct ScrArea;
 +struct ScrVert;
  struct SpaceType;
 +struct TransformOrientation;
  struct View3D;
  struct bContext;
  struct bContextDataResult;
@@@ -51,14 -49,10 +51,14 @@@ struct bScreen
  struct uiLayout;
  struct uiList;
  struct wmKeyConfig;
 +struct wmManipulatorMap;
  struct wmNotifier;
  struct wmWindow;
  struct wmWindowManager;
 +struct WorkSpace;
  struct GPUFXSettings;
 +struct wmMsgBus;
 +struct ScrAreaMap;
  
  #include "BLI_compiler_attrs.h"
  
@@@ -77,47 -71,37 +77,47 @@@ typedef struct SpaceType 
        int spaceid;                                /* unique space identifier */
        int iconid;                                 /* icon lookup for menus */
        
 -      /* initial allocation, after this WM will call init() too */
 -      struct SpaceLink    *(*new)(const struct bContext *C);
 +      /* Initial allocation, after this WM will call init() too. Some editors need
 +       * area and scene data (e.g. frame range) to set their initial scrolling. */
-       struct SpaceLink    *(*new)(const struct ScrArea *, const struct Scene *);
++      struct SpaceLink *(*new)(const struct ScrArea *sa, const struct Scene *scene);
        /* not free spacelink itself */
-       void (*free)(struct SpaceLink *);
+       void (*free)(struct SpaceLink *sl);
        
        /* init is to cope with file load, screen (size) changes, check handlers */
-       void (*init)(struct wmWindowManager *, struct ScrArea *);
+       void (*init)(struct wmWindowManager *wm, struct ScrArea *sa);
        /* exit is called when the area is hidden or removed */
-       void (*exit)(struct wmWindowManager *, struct ScrArea *);
+       void (*exit)(struct wmWindowManager *wm, struct ScrArea *sa);
        /* Listeners can react to bContext changes */
-       void (*listener)(struct bScreen *sc, struct ScrArea *,
-                        struct wmNotifier *, struct Scene *scene,
 -      void (*listener)(struct bScreen *sc, struct ScrArea *sa, struct wmNotifier *wmn);
++      void (*listener)(struct bScreen *sc, struct ScrArea *sa,
++                       struct wmNotifier *wmn, struct Scene *scene,
 +                       struct WorkSpace *workspace);
        
        /* refresh context, called after filereads, ED_area_tag_refresh() */
-       void (*refresh)(const struct bContext *, struct ScrArea *);
+       void (*refresh)(const struct bContext *C, struct ScrArea *sa);
        
        /* after a spacedata copy, an init should result in exact same situation */
-       struct SpaceLink    *(*duplicate)(struct SpaceLink *);
+       struct SpaceLink *(*duplicate)(struct SpaceLink *sl);
  
        /* register operator types on startup */
        void (*operatortypes)(void);
        /* add default items to WM keymap */
-       void (*keymap)(struct wmKeyConfig *);
+       void (*keymap)(struct wmKeyConfig *keyconf);
        /* on startup, define dropboxes for spacetype+regions */
        void (*dropboxes)(void);
  
 +      /* initialize manipulator-map-types and manipulator-group-types with the region */
 +      void (*manipulators)(void);
 +
        /* return context data */
-       int (*context)(const struct bContext *, const char *, struct bContextDataResult *);
+       int (*context)(const struct bContext *C, const char *member, struct bContextDataResult *result);
  
        /* Used when we want to replace an ID by another (or NULL). */
-       void (*id_remap)(struct ScrArea *, struct SpaceLink *, struct ID *, struct ID *);
+       void (*id_remap)(struct ScrArea *sa, struct SpaceLink *sl, struct ID *old_id, struct ID *new_id);
  
 +      int  (*space_subtype_get)(struct ScrArea *sa);
 +      void (*space_subtype_set)(struct ScrArea *sa, int value);
 +      void (*space_subtype_item_extend)(struct bContext *C, EnumPropertyItem **item, int *totitem);
 +
        /* region type definitions */
        ListBase regiontypes;
        
@@@ -139,40 -123,29 +139,40 @@@ typedef struct ARegionType 
        int regionid;           /* unique identifier within this space, defines RGN_TYPE_xxxx */
        
        /* add handlers, stuff you only do once or on area/region type/size changes */
-       void (*init)(struct wmWindowManager *, struct ARegion *);
+       void (*init)(struct wmWindowManager *wm, struct ARegion *ar);
        /* exit is called when the region is hidden or removed */
-       void (*exit)(struct wmWindowManager *, struct ARegion *);
+       void (*exit)(struct wmWindowManager *wm, struct ARegion *ar);
        /* draw entirely, view changes should be handled here */
-       void (*draw)(const struct bContext *, struct ARegion *);
+       void (*draw)(const struct bContext *wm, struct ARegion *ar);
 +      /* optional, compute button layout before drawing for dynamic size */
-       void (*layout)(const struct bContext *, struct ARegion *);
++      void (*layout)(const struct bContext *C, struct ARegion *ar);
 +      /* snap the size of the region (can be NULL for no snapping). */
 +      int (*snap_size)(const struct ARegion *ar, int size, int axis);
        /* contextual changes should be handled here */
-       void (*listener)(struct bScreen *, struct ScrArea *, struct ARegion *,
-                        struct wmNotifier *, const struct Scene *scene);
 -      void (*listener)(struct bScreen *sc, struct ScrArea *sa, struct ARegion *ar, struct wmNotifier *wmn);
 -      
 -      void (*free)(struct ARegion *ar);
++      void (*listener)(struct bScreen *sc, struct ScrArea *sa, struct ARegion *ar,
++                       struct wmNotifier *wmn, const struct Scene *scene);
 +      /* Optional callback to generate subscriptions. */
 +      void (*message_subscribe)(
 +              const struct bContext *C,
 +              struct WorkSpace *workspace, struct Scene *scene,
 +              struct bScreen *sc, struct ScrArea *sa, struct ARegion *ar,
 +              struct wmMsgBus *mbus);
 +
 +      void (*free)(struct ARegion *);
  
        /* split region, copy data optionally */
-       void        *(*duplicate)(void *);
+       void *(*duplicate)(void *poin);
  
        
        /* register operator types on startup */
        void (*operatortypes)(void);
        /* add own items to keymap */
-       void (*keymap)(struct wmKeyConfig *);
+       void (*keymap)(struct wmKeyConfig *keyconf);
        /* allows default cursor per region */
-       void (*cursor)(struct wmWindow *, struct ScrArea *, struct ARegion *ar);
+       void (*cursor)(struct wmWindow *win, struct ScrArea *sa, struct ARegion *ar);
  
        /* return context data */
-       int (*context)(const struct bContext *, const char *, struct bContextDataResult *);
+       int (*context)(const struct bContext *C, const char *member, struct bContextDataResult *result);
  
        /* custom drawing callbacks */
        ListBase drawcalls;
@@@ -205,18 -178,17 +205,18 @@@ typedef struct PanelType 
        char translation_context[BKE_ST_MAXNAME];
        char context[BKE_ST_MAXNAME];             /* for buttons window */
        char category[BKE_ST_MAXNAME];            /* for category tabs */
 +      char owner_id[BKE_ST_MAXNAME];              /* for work-spaces to selectively show. */
        int space_type;
        int region_type;
  
        int flag;
  
        /* verify if the panel should draw or not */
-       int (*poll)(const struct bContext *, struct PanelType *);
+       int (*poll)(const struct bContext *C, struct PanelType *pt);
        /* draw header (optional) */
-       void (*draw_header)(const struct bContext *, struct Panel *);
+       void (*draw_header)(const struct bContext *C, struct Panel *pa);
        /* draw entirely, view changes should be handled here */
-       void (*draw)(const struct bContext *, struct Panel *);
+       void (*draw)(const struct bContext *C, struct Panel *pa);
  
        /* RNA integration */
        ExtensionRNA ext;
  /* uilist types */
  
  /* Draw an item in the uiList */
- typedef void (*uiListDrawItemFunc)(struct uiList *, struct bContext *, struct uiLayout *, struct PointerRNA *,
-                                    struct PointerRNA *, int, struct PointerRNA *, const char *, int, int);
+ typedef void (*uiListDrawItemFunc)(
+         struct uiList *ui_list, struct bContext *C, struct uiLayout *layout, struct PointerRNA *dataptr,
+         struct PointerRNA *itemptr, int icon, struct PointerRNA *active_dataptr, const char *active_propname,
+         int index, int flt_flag);
  
  /* Draw the filtering part of an uiList */
- typedef void (*uiListDrawFilterFunc)(struct uiList *, struct bContext *, struct uiLayout *);
+ typedef void (*uiListDrawFilterFunc)(
+         struct uiList *ui_list, struct bContext *C, struct uiLayout *layout);
  
  /* Filter items of an uiList */
- typedef void (*uiListFilterItemsFunc)(struct uiList *, struct bContext *, struct PointerRNA *, const char *);
+ typedef void (*uiListFilterItemsFunc)(
+         struct uiList *ui_list, struct bContext *C, struct PointerRNA *, const char *propname);
  
  typedef struct uiListType {
        struct uiListType *next, *prev;
@@@ -254,10 -230,9 +258,10 @@@ typedef struct HeaderType 
  
        char idname[BKE_ST_MAXNAME];        /* unique name */
        int space_type;
 +      int region_type;
  
        /* draw entirely, view changes should be handled here */
-       void (*draw)(const struct bContext *, struct Header *);
+       void (*draw)(const struct bContext *C, struct Header *header);
  
        /* RNA integration */
        ExtensionRNA ext;
@@@ -277,13 -252,12 +281,13 @@@ typedef struct MenuType 
        char idname[BKE_ST_MAXNAME];        /* unique name */
        char label[BKE_ST_MAXNAME];         /* for button text */
        char translation_context[BKE_ST_MAXNAME];
 +      char owner_id[BKE_ST_MAXNAME];  /* optional, see: #wmOwnerID */
        const char *description;
  
        /* verify if the menu should draw or not */
-       int (*poll)(const struct bContext *, struct MenuType *);
+       int (*poll)(const struct bContext *C, struct MenuType *mt);
        /* draw entirely, view changes should be handled here */
-       void (*draw)(const struct bContext *, struct Menu *);
+       void (*draw)(const struct bContext *C, struct Menu *menu);
  
        /* RNA integration */
        ExtensionRNA ext;
@@@ -307,16 -281,14 +311,17 @@@ void BKE_spacedata_freelist(ListBase *l
  void BKE_spacedata_copylist(ListBase *lb1, ListBase *lb2);
  void BKE_spacedata_draw_locks(int set);
  
- void BKE_spacedata_callback_id_remap_set(void (*func)(struct ScrArea *, struct SpaceLink *, struct ID *, struct ID *));
+ void BKE_spacedata_callback_id_remap_set(
+         void (*func)(struct ScrArea *sa, struct SpaceLink *sl, struct ID *old_id, struct ID *new_id));
  void BKE_spacedata_id_unref(struct ScrArea *sa, struct SpaceLink *sl, struct ID *id);
  
  /* area/regions */
  struct ARegion *BKE_area_region_copy(struct SpaceType *st, struct ARegion *ar);
  void            BKE_area_region_free(struct SpaceType *st, struct ARegion *ar);
  void            BKE_screen_area_free(struct ScrArea *sa);
 +/* Manipulator-maps of a region need to be freed with the region. Uses callback to avoid low-level call. */
 +void BKE_region_callback_free_manipulatormap_set(void (*callback)(struct wmManipulatorMap *));
 +void BKE_region_callback_refresh_tag_manipulatormap_set(void (*callback)(struct wmManipulatorMap *));
  
  struct ARegion *BKE_area_find_region_type(struct ScrArea *sa, int type);
  struct ARegion *BKE_area_find_region_active_win(struct ScrArea *sa);
@@@ -332,12 -304,12 +337,12 @@@ unsigned int BKE_screen_view3d_layer_ac
  
  unsigned int BKE_screen_view3d_layer_all(const struct bScreen *sc) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1);
  
 +void BKE_screen_manipulator_tag_refresh(struct bScreen *sc);
 +
  void BKE_screen_view3d_sync(struct View3D *v3d, struct Scene *scene);
 -void BKE_screen_view3d_scene_sync(struct bScreen *sc);
 -void BKE_screen_view3d_main_sync(ListBase *screen_lb, struct Scene *scene);
 -void BKE_screen_view3d_twmode_remove(struct View3D *v3d, const int i);
 -void BKE_screen_view3d_main_twmode_remove(ListBase *screen_lb, struct Scene *scene, const int i);
 -void BKE_screen_gpu_fx_validate(struct GPUFXSettings *fx_settings);
 +void BKE_screen_view3d_scene_sync(struct bScreen *sc, struct Scene *scene);
 +bool BKE_screen_is_fullscreen_area(const struct bScreen *screen) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL();
 +bool BKE_screen_is_used(const struct bScreen *screen) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL();
  
  /* zoom factor conversion */
  float BKE_screen_view3d_zoom_to_fac(float camzoom);
@@@ -345,15 -317,7 +350,15 @@@ float BKE_screen_view3d_zoom_from_fac(f
  
  /* screen */
  void BKE_screen_free(struct bScreen *sc); 
 +void BKE_screen_area_map_free(struct ScrAreaMap *area_map) ATTR_NONNULL();
  unsigned int BKE_screen_visible_layers(struct bScreen *screen, struct Scene *scene);
  
 +struct ScrEdge *BKE_screen_find_edge(struct bScreen *sc, struct ScrVert *v1, struct ScrVert *v2);
 +void BKE_screen_sort_scrvert(struct ScrVert **v1, struct ScrVert **v2);
 +void BKE_screen_remove_double_scrverts(struct bScreen *sc);
 +void BKE_screen_remove_double_scredges(struct bScreen *sc);
 +void BKE_screen_remove_unused_scredges(struct bScreen *sc);
 +void BKE_screen_remove_unused_scrverts(struct bScreen *sc);
 +
  #endif