Merge branch 'master' into blender2.8
authorCampbell Barton <ideasman42@gmail.com>
Fri, 28 Jul 2017 22:43:58 +0000 (08:43 +1000)
committerCampbell Barton <ideasman42@gmail.com>
Fri, 28 Jul 2017 22:49:34 +0000 (08:49 +1000)
1  2 
source/blender/editors/include/ED_anim_api.h
source/blender/makesdna/DNA_ID.h
source/blender/makesdna/DNA_action_types.h
source/blender/makesdna/DNA_modifier_types.h
source/blender/makesdna/DNA_screen_types.h
source/blender/makesdna/DNA_space_types.h
source/blender/makesdna/DNA_userdef_types.h
source/blender/makesrna/RNA_types.h

index a65c6eec6ae761bfd3fda2d7c6b65f5396d9e945,4668d5d3d5025ef97807fa91abb121b6aaabcb17..f9c90713f400654af6f6c8d7f2c083d840f1b930
@@@ -82,7 -82,6 +82,7 @@@ typedef struct bAnimContext 
        struct bDopeSheet *ads; /* dopesheet data for editor (or which is being used) */
        
        struct Scene *scene;    /* active scene */
 +      struct SceneLayer *scene_layer; /* active scene layer */
        struct Object *obact;   /* active object */
        ListBase *markers;      /* active set of markers */
        
@@@ -257,7 -256,7 +257,7 @@@ typedef enum eAnimFilter_Flags 
        ANIMFILTER_TMP_PEEK       = (1 << 30),
  
        /* ignore ONLYSEL flag from filterflag, (internal use only!) */
-       ANIMFILTER_TMP_IGNORE_ONLYSEL = (1 << 31)
+       ANIMFILTER_TMP_IGNORE_ONLYSEL = (1u << 31)
  } eAnimFilter_Flags;
  
  /* ---------- Flag Checking Macros ------------ */
index dde1daee5c9c6fcb55ff330786c041bc34835a18,da0f505c4f38393f49bb049a105a7d37a3c06db4..d457401bb3330eab06f6efafd63160ab2a900312
@@@ -96,17 -96,6 +96,17 @@@ enum 
        IDP_STRING_SUB_BYTE  = 1,  /* arbitrary byte array, _not_ null terminated */
  };
  
 +/* IDP_GROUP */
 +enum {
 +      IDP_GROUP_SUB_NONE              = 0,  /* default */
 +      IDP_GROUP_SUB_MODE_OBJECT       = 1,  /* object mode settings */
 +      IDP_GROUP_SUB_MODE_EDIT         = 2,  /* mesh edit mode settings */
 +      IDP_GROUP_SUB_ENGINE_RENDER     = 3,  /* render engine settings */
 +      IDP_GROUP_SUB_OVERRIDE          = 4,  /* data override */
 +      IDP_GROUP_SUB_MODE_PAINT_WEIGHT = 5,  /* weight paint mode settings */
 +      IDP_GROUP_SUB_MODE_PAINT_VERTEX = 6,  /* vertex paint mode settings */
 +};
 +
  /*->flag*/
  enum {
        IDP_FLAG_GHOST       = 1 << 7,  /* this means the property is set but RNA will return false when checking
@@@ -143,7 -132,6 +143,7 @@@ typedef struct ID 
        int us;
        int icon_id;
        IDProperty *properties;
 +      void *py_instance;
  } ID;
  
  /**
@@@ -266,8 -254,6 +266,8 @@@ typedef enum ID_Type 
        ID_PAL  = MAKE_ID2('P', 'L'), /* Palette */
        ID_PC   = MAKE_ID2('P', 'C'), /* PaintCurve  */
        ID_CF   = MAKE_ID2('C', 'F'), /* CacheFile */
 +      ID_WS   = MAKE_ID2('W', 'S'), /* WorkSpace */
 +      ID_LP   = MAKE_ID2('L', 'P'), /* LightProbe */
  } ID_Type;
  
  /* Only used as 'placeholder' in .blend files for directly linked datablocks. */
  #define ID_REAL_USERS(id) (((ID *)id)->us - ID_FAKE_USERS(id))
  #define ID_EXTRA_USERS(id) (((ID *)id)->tag & LIB_TAG_EXTRAUSER ? 1 : 0)
  
 -#define ID_CHECK_UNDO(id) ((GS((id)->name) != ID_SCR) && (GS((id)->name) != ID_WM))
 +#define ID_CHECK_UNDO(id) ((GS((id)->name) != ID_SCR) && (GS((id)->name) != ID_WM) && (GS((id)->name) != ID_WS))
  
  #define ID_BLEND_PATH(_bmain, _id) ((_id)->lib ? (_id)->lib->filepath : (_bmain)->name)
  
@@@ -364,9 -350,6 +364,9 @@@ enum 
        LIB_TAG_ID_RECALC_DATA  = 1 << 13,
        LIB_TAG_ANIM_NO_RECALC  = 1 << 14,
        LIB_TAG_ID_RECALC_ALL   = (LIB_TAG_ID_RECALC | LIB_TAG_ID_RECALC_DATA),
 +
 +      /* The datablock is a copy-on-write version. */
 +      LIB_TAG_COPY_ON_WRITE  = (1 << 15),
  };
  
  /* To filter ID types (filter_id) */
@@@ -404,11 -387,9 +404,11 @@@ enum 
        FILTER_ID_WO        = (1 << 26),
        FILTER_ID_PA        = (1 << 27),
        FILTER_ID_CF        = (1 << 28),
-       FILTER_ID_LP        = (1 << 31),
 +      FILTER_ID_WS        = (1 << 29),
++      FILTER_ID_LP        = (1u << 31),
  };
  
 -/* IMPORTANT: this enum matches the order currently use in set_lisbasepointers,
 +/* IMPORTANT: this enum matches the order currently use in set_listbasepointers,
   * keep them in sync! */
  enum {
        INDEX_ID_LI = 0,
        INDEX_ID_BR,
        INDEX_ID_PA,
        INDEX_ID_SPK,
 +      INDEX_ID_LP,
        INDEX_ID_WO,
        INDEX_ID_MC,
        INDEX_ID_SCR,
        INDEX_ID_OB,
        INDEX_ID_LS,
        INDEX_ID_SCE,
 +      INDEX_ID_WS,
        INDEX_ID_WM,
        INDEX_ID_MSK,
        INDEX_ID_NULL,
index 90d6bbb4f1e9978bca6d8474f420d5741c6deb3c,d49960771d090300091f72dd6fe4bd401d7c30a9..7809d2d1c4a130e273939b72d0a9b940ad7141c2
@@@ -180,18 -180,6 +180,18 @@@ typedef enum eMotionPaths_BakeFlag 
        MOTIONPATH_BAKE_HAS_PATHS       = (1 << 2)
  } eMotionPath_BakeFlag;
  
 +/* runtime */
 +#
 +#
 +typedef struct bPoseChannelDrawData {
 +      float solid_color[4];
 +      float wire_color[4];
 +
 +      int bbone_matrix_len;
 +      /* keep last */
 +      float bbone_matrix[0][4][4];
 +} bPoseChannelDrawData;
 +
  /* ************************************************ */
  /* Poses */
  
@@@ -250,8 -238,6 +250,8 @@@ typedef struct bPoseChannel 
        float chan_mat[4][4];           /* matrix result of loc/quat/size, and where we put deform in, see next line */
        float pose_mat[4][4];           /* constraints accumulate here. in the end, pose_mat = bone->arm_mat * chan_mat
                                         * this matrix is object space */
 +      float disp_mat[4][4];           /* for display, pose_mat with bone length applied */
 +      float disp_tail_mat[4][4];      /* for display, pose_mat with bone length applied and translated to tail*/
        float constinv[4][4];           /* inverse result of constraints.
                                         * doesn't include effect of restposition, parent, and local transform*/
        
        
        struct bPoseChannel *bbone_prev; /* next/prev bones to use as handle references when calculating bbones (optional) */
        struct bPoseChannel *bbone_next;
 -      
 +
        void        *temp;              /* use for outliner */
 +      /* Runtime data for color and bbone segment matrix. */
 +      bPoseChannelDrawData *draw_data;
  } bPoseChannel;
  
  
@@@ -530,7 -514,7 +530,7 @@@ typedef enum eActionGroup_Flag 
        AGRP_MODIFIERS_OFF = (1 << 7),
        
        AGRP_TEMP       = (1 << 30),
-       AGRP_MOVED      = (1 << 31)
+       AGRP_MOVED      = (1u << 31)
  } eActionGroup_Flag;
  
  
@@@ -773,7 -757,7 +773,7 @@@ typedef enum ACHAN_FLAG 
        ACHAN_EXPANDED  = (1 << 4),
        ACHAN_SHOWIPO   = (1 << 5),
        ACHAN_SHOWCONS  = (1 << 6),
-       ACHAN_MOVED     = (1 << 31)
+       ACHAN_MOVED     = (1u << 31)
  } ACHAN_FLAG; 
  
  #endif  /* __DNA_ACTION_TYPES_H__ */
index 4959055ed103245f8566c16d787cdda731725556,b33674d41ee4ddfec706d2b2e6205da0b3459454..c185f84997ee26f7d9067cd94622892da099e588
@@@ -98,7 -98,7 +98,7 @@@ typedef enum ModifierMode 
        eModifierMode_Expanded          = (1 << 4),
        eModifierMode_Virtual           = (1 << 5),
        eModifierMode_ApplyOnSpline     = (1 << 6),
-       eModifierMode_DisableTemporary  = (1 << 31)
+       eModifierMode_DisableTemporary  = (1u << 31)
  } ModifierMode;
  
  typedef struct ModifierData {
@@@ -418,7 -418,7 +418,7 @@@ typedef struct UVProjectModifierData 
        /* the objects which do the projecting */
        struct Object *projectors[10]; /* MOD_UVPROJECT_MAXPROJECTORS */
        struct Image *image;           /* the image to project */
 -      int flags;
 +      int pad2;
        int num_projectors;
        float aspectx, aspecty;
        float scalex, scaley;
@@@ -1515,7 -1515,7 +1515,7 @@@ enum 
        MOD_DATATRANSFER_USE_VERT         = 1 << 28,
        MOD_DATATRANSFER_USE_EDGE         = 1 << 29,
        MOD_DATATRANSFER_USE_LOOP         = 1 << 30,
-       MOD_DATATRANSFER_USE_POLY         = 1 << 31,
+       MOD_DATATRANSFER_USE_POLY         = 1u << 31,
  };
  
  /* Set Split Normals modifier */
index 75ae1cdab95b8ba6f4540508d8941f8dfa83b35c,fd63d7c471c16a77e09081d89a32c7c513e2915e..e3e5aaf8ca4b1c17c2b87d9db63804a2b8a5ebe4
@@@ -30,7 -30,6 +30,7 @@@
  #ifndef __DNA_SCREEN_TYPES_H__
  #define __DNA_SCREEN_TYPES_H__
  
 +#include "DNA_defs.h"
  #include "DNA_listBase.h"
  #include "DNA_view2d_types.h"
  #include "DNA_vec_types.h"
@@@ -53,9 -52,10 +53,9 @@@ typedef struct bScreen 
        ListBase edgebase;
        ListBase areabase;
        ListBase regionbase;                            /* screen level regions (menus), runtime only */
 -      
 -      struct Scene *scene;
 -      struct Scene *newscene;                         /* temporary when switching */
 -      
 +
 +      struct Scene *scene DNA_DEPRECATED;
 +
        short winid;                                            /* winid from WM, starts with 1 */
        short redraws_flag;                                     /* user-setting for which editors get redrawn during anim playback (used to be time->redraws) */
  
@@@ -76,8 -76,6 +76,8 @@@
  
        struct wmTimer *animtimer;                      /* if set, screen has timer handler added in window */
        void *context;                                          /* context callback */
 +
 +      PreviewImage *preview;
  } bScreen;
  
  typedef struct ScrVert {
@@@ -193,13 -191,6 +193,13 @@@ typedef struct uiList {           /* so
        uiListDyn *dyn_data;
  } uiList;
  
 +typedef struct TransformOrientation {
 +      struct TransformOrientation *next, *prev;
 +      char name[64];  /* MAX_NAME */
 +      float mat[3][3];
 +      int pad;
 +} TransformOrientation;
 +
  typedef struct uiPreview {           /* some preview UI data need to be saved in file */
        struct uiPreview *next, *prev;
  
@@@ -274,10 -265,9 +274,10 @@@ typedef struct ARegion 
        ListBase ui_previews;           /* uiPreview */
        ListBase handlers;                      /* wmEventHandler */
        ListBase panels_category;       /* Panel categories runtime */
 -      
 +
 +      struct wmManipulatorMap *manipulator_map; /* manipulator-map of this region */
        struct wmTimer *regiontimer; /* blend in/out */
 -      
 +
        char *headerstr;                        /* use this string to draw info */
        void *regiondata;                       /* XXX 2.50, need spacedata equivalent? */
  } ARegion;
@@@ -376,7 -366,7 +376,7 @@@ enum 
  /* uiList filter orderby type */
  enum {
        UILST_FLT_SORT_ALPHA        = 1 << 0,
-       UILST_FLT_SORT_REVERSE      = 1 << 31  /* Special value, bitflag used to reverse order! */
+       UILST_FLT_SORT_REVERSE      = 1u << 31  /* Special value, bitflag used to reverse order! */
  };
  
  #define UILST_FLT_SORT_MASK (((unsigned int)UILST_FLT_SORT_REVERSE) - 1)
index 833db3761918ff1abba770cc4bfce7b443dedf30,d6490d99016985a50fda19004fbf942452129827..68cc5c2d79e7913d644ec4cf97715a0a754a264a
@@@ -181,8 -181,7 +181,8 @@@ typedef enum eSpaceButtons_Context 
        BCONTEXT_CONSTRAINT = 11,
        BCONTEXT_BONE_CONSTRAINT = 12,
        BCONTEXT_RENDER_LAYER = 13,
 -      
 +      BCONTEXT_COLLECTION = 14,
 +
        /* always as last... */
        BCONTEXT_TOT
  } eSpaceButtons_Context;
@@@ -274,23 -273,21 +274,23 @@@ typedef enum eSpaceOutliner_Flag 
  
  /* SpaceOops->outlinevis */
  typedef enum eSpaceOutliner_Mode {
 -      SO_ALL_SCENES = 0,
 -      SO_CUR_SCENE = 1,
 -      SO_VISIBLE = 2,
 -      SO_SELECTED = 3,
 -      SO_ACTIVE = 4,
 -      SO_SAME_TYPE = 5,
 -      SO_GROUPS = 6,
 -      SO_LIBRARIES = 7,
 -      /* SO_VERSE_SESSION = 8, */  /* deprecated! */
 -      /* SO_VERSE_MS = 9, */       /* deprecated! */
 -      SO_SEQUENCE = 10,
 -      SO_DATABLOCKS = 11,
 -      SO_USERDEF = 12,
 -      /* SO_KEYMAP = 13, */        /* deprecated! */
 -      SO_ID_ORPHANS = 14,
 +      SO_ALL_SCENES     = 0,
 +      SO_CUR_SCENE      = 1,
 +      SO_VISIBLE        = 2,
 +      SO_SELECTED       = 3,
 +      SO_ACTIVE         = 4,
 +      SO_SAME_TYPE      = 5,
 +      SO_GROUPS         = 6,
 +      SO_LIBRARIES      = 7,
 +      /* SO_VERSE_SESSION  = 8, */  /* deprecated! */
 +      /* SO_VERSE_MS       = 9, */  /* deprecated! */
 +      SO_SEQUENCE       = 10,
 +      SO_DATABLOCKS     = 11,
 +      SO_USERDEF        = 12,
 +      /* SO_KEYMAP      = 13, */    /* deprecated! */
 +      SO_ID_ORPHANS     = 14,
 +      SO_ACT_LAYER      = 15,
 +      SO_COLLECTIONS    = 16,
  } eSpaceOutliner_Mode;
  
  /* SpaceOops->storeflag */
@@@ -713,7 -710,7 +713,7 @@@ typedef enum eFileSel_Params_Flag 
        FILE_LINK           = (1 << 2),
        FILE_HIDE_DOT       = (1 << 3),
        FILE_AUTOSELECT     = (1 << 4),
 -      FILE_ACTIVELAY      = (1 << 5),
 +      FILE_ACTIVE_COLLECTION = (1 << 5),
  /*  FILE_ATCURSOR       = (1 << 6), */ /* deprecated */
        FILE_DIRSEL_ONLY    = (1 << 7),
        FILE_FILTER         = (1 << 8),
@@@ -744,7 -741,7 +744,7 @@@ typedef enum eFileSel_File_Types 
        FILE_TYPE_ALEMBIC           = (1 << 16),
  
        FILE_TYPE_DIR               = (1 << 30),  /* An FS directory (i.e. S_ISDIR on its path is true). */
-       FILE_TYPE_BLENDERLIB        = (1 << 31),
+       FILE_TYPE_BLENDERLIB        = (1u << 31),
  } eFileSel_File_Types;
  
  /* Selection Flags in filesel: struct direntry, unsigned char selflag */
@@@ -942,7 -939,7 +942,7 @@@ typedef enum eSpaceImage_Sticky 
  /* SpaceImage->flag */
  typedef enum eSpaceImage_Flag {
  /*    SI_BE_SQUARE          = (1 << 0), */  /* deprecated */
 -      SI_EDITTILE           = (1 << 1),     /* XXX - not used but should be? */
 +/*    SI_EDITTILE           = (1 << 1), */  /* deprecated */
        SI_CLIP_UV            = (1 << 2),
  /*    SI_DRAWTOOL           = (1 << 3), */  /* deprecated */
        SI_NO_DRAWFACES       = (1 << 4),
index 4aba028fbd625c1cbaf139b51c59bfaf1ed68ea1,6bbf5144d29c4ea4d915602a016497c118fa42b5..742bdba6fad4e0680f01bc98460bba31bf1ecabc
@@@ -162,7 -162,7 +162,7 @@@ typedef struct ThemeUI 
        /* Interface Elements (buttons, menus, icons) */
        uiWidgetColors wcol_regular, wcol_tool, wcol_text;
        uiWidgetColors wcol_radio, wcol_option, wcol_toggle;
 -      uiWidgetColors wcol_num, wcol_numslider;
 +      uiWidgetColors wcol_num, wcol_numslider, wcol_tab;
        uiWidgetColors wcol_menu, wcol_pulldown, wcol_menu_back, wcol_menu_item, wcol_tooltip;
        uiWidgetColors wcol_box, wcol_scroll, wcol_progress, wcol_list_item, wcol_pie_menu;
        
@@@ -497,8 -497,7 +497,8 @@@ typedef struct UserDef 
        short gp_settings;  /* eGP_UserdefSettings */
        short tb_leftmouse, tb_rightmouse;
        struct SolidLight light[3];
 -      short tw_hotspot, tw_flag, tw_handlesize, tw_size;
 +      short manipulator_flag, manipulator_size;
 +      int pad3;
        short textimeout, texcollectrate;
        short wmdrawmethod; /* eWM_DrawMethod */
        short dragthreshold;
@@@ -604,7 -603,7 +604,7 @@@ typedef enum eUserPref_Flag 
        USER_FLAG_DEPRECATED_1  = (1 << 1),  /* cleared */
        USER_FLAG_DEPRECATED_2  = (1 << 2),  /* cleared */
        USER_FLAG_DEPRECATED_3  = (1 << 3),  /* cleared */
 -      USER_SCENEGLOBAL                = (1 << 4),
 +/*    USER_SCENEGLOBAL         = (1 << 4), deprecated */
        USER_TRACKBALL                  = (1 << 5),
        USER_FLAG_DEPRECATED_6  = (1 << 6),  /* cleared */
        USER_FLAG_DEPRECATED_7  = (1 << 7),  /* cleared */
@@@ -691,7 -690,7 +691,7 @@@ typedef enum eUserpref_UI_Flag 
        USER_HIDE_RECENT                = (1 << 28),
        USER_SHOW_THUMBNAILS    = (1 << 29),
        USER_QUIT_PROMPT                = (1 << 30),
-       USER_HIDE_SYSTEM_BOOKMARKS = (1 << 31)
+       USER_HIDE_SYSTEM_BOOKMARKS = (1u << 31)
  } eUserpref_UI_Flag;
  
  /* UserDef.uiflag2 */
@@@ -806,11 -805,6 +806,11 @@@ typedef enum eGP_UserdefSettings 
        GP_PAINT_DOSIMPLIFY             = (1 << 1),
  } eGP_UserdefSettings;
  
 +enum {
 +      USER_MANIPULATOR_DRAW        = (1 << 0),
 +      USER_MANIPULATOR_SHADED      = (1 << 1),
 +};
 +
  /* Color Picker Types.
   * UserDef.color_picker_type */
  typedef enum eColorPicker_Types {
index 99ef0f9c8c4e7c7e0de11016bb6258e2d8454327,ecd7f3211bbc87f7a132d15762ce8b5174c0eade..2dac9f67b7abd01633f6f10b24cea16d6c43356b
@@@ -178,7 -178,7 +178,7 @@@ typedef enum PropertyFlag 
         * after every typed char, instead of waiting final validation. Used e.g. for text searchbox.
         * It will also cause UI_BUT_VALUE_CLEAR to be set for text buttons. We could add an own flag
         * for search/filter properties, but this works just fine for now. */
-       PROP_TEXTEDIT_UPDATE         = (1 << 31),
+       PROP_TEXTEDIT_UPDATE         = (1u << 31),
  
        /* icon */
        PROP_ICONS_CONSECUTIVE       = (1 << 12),
@@@ -282,7 -282,6 +282,7 @@@ typedef struct CollectionPropertyIterat
        union {
                ArrayIterator array;
                ListBaseIterator listbase;
 +              void *custom;
        } internal;
        int idprop;
        int level;