Merge branch 'master' into blender2.8

This commit is contained in:
Campbell Barton 2018-05-31 10:03:15 +02:00
commit 12ab59a2d6
3 changed files with 178 additions and 112 deletions

@ -12,7 +12,7 @@ if not exist "%vs_where%" (
goto FAIL
)
)
for /f "usebackq tokens=1* delims=: " %%i in (`"%vs_where%" -latest %VSWHERE_ARGS% -requires Microsoft.VisualStudio.Component.VC.Tools.x86.x64`) do (
for /f "usebackq tokens=1* delims=: " %%i in (`"%vs_where%" -products * -latest %VSWHERE_ARGS% -requires Microsoft.VisualStudio.Component.VC.Tools.x86.x64`) do (
if /i "%%i"=="installationPath" set VS_InstallDir=%%j
)

@ -59,12 +59,15 @@ ccl_device_inline void kernel_split_path_end(KernelGlobals *kg, int ray_index)
ccl_global char *ray_state = kernel_split_state.ray_state;
#ifdef __BRANCHED_PATH__
# ifdef __SUBSURFACE__
ccl_addr_space SubsurfaceIndirectRays *ss_indirect = &kernel_split_state.ss_rays[ray_index];
if(ss_indirect->num_rays) {
ASSIGN_RAY_STATE(ray_state, ray_index, RAY_UPDATE_BUFFER);
}
else if(IS_FLAG(ray_state, ray_index, RAY_BRANCHED_INDIRECT_SHARED)) {
else
# endif /* __SUBSURFACE__ */
if(IS_FLAG(ray_state, ray_index, RAY_BRANCHED_INDIRECT_SHARED)) {
int orig_ray = kernel_split_state.branched_state[ray_index].original_ray;
PathRadiance *L = &kernel_split_state.path_radiance[ray_index];

@ -72,7 +72,9 @@ struct BLI_mempool;
//#define WITH_GLOBAL_AREA_WRITING
/* SpaceLink (Base) ==================================== */
/* -------------------------------------------------------------------- */
/** \name SpaceLink (Base)
* \{ */
/**
* The base structure all the other spaces
@ -87,8 +89,9 @@ typedef struct SpaceLink {
short blockhandler[8] DNA_DEPRECATED; /* XXX make deprecated */
} SpaceLink;
/* Space Info ========================================== */
/* -------------------------------------------------------------------- */
/** \name Space Info
* \{ */
/* Info Header */
typedef struct SpaceInfo {
@ -97,7 +100,7 @@ typedef struct SpaceInfo {
int spacetype;
float blockscale DNA_DEPRECATED;
short blockhandler[8] DNA_DEPRECATED; /* XXX make deprecated */
char rpt_mask;
char pad[7];
} SpaceInfo;
@ -111,8 +114,11 @@ typedef enum eSpaceInfo_RptMask {
INFO_RPT_ERR = (1 << 4),
} eSpaceInfo_RptMask;
/** \} */
/* Properties Editor ==================================== */
/* -------------------------------------------------------------------- */
/** \name Properties Editor
* \{ */
/* Properties Editor */
typedef struct SpaceButs {
@ -120,18 +126,18 @@ typedef struct SpaceButs {
ListBase regionbase; /* storage of regions for inactive spaces */
int spacetype;
float blockscale DNA_DEPRECATED;
short blockhandler[8] DNA_DEPRECATED;
View2D v2d DNA_DEPRECATED; /* deprecated, copied to region */
short mainb, mainbo, mainbuser; /* context tabs */
short re_align, align; /* align for panels */
short preview; /* preview is signal to refresh */
char flag;
char collection_context;
char pad[2];
void *path; /* runtime */
int pathflag, dataicon; /* runtime */
ID *pinid;
@ -140,18 +146,18 @@ typedef struct SpaceButs {
} SpaceButs;
/* button defines (deprecated) */
/* warning: the values of these defines are used in sbuts->tabs[8] */
/* sbuts->mainb new */
#ifdef DNA_DEPRECATED_ALLOW
/* warning: the values of these defines are used in SpaceButs.tabs[8] */
/* SpaceButs.mainb new */
#define CONTEXT_SCENE 0
#define CONTEXT_OBJECT 1
#define CONTEXT_TYPES 2
// #define CONTEXT_TYPES 2
#define CONTEXT_SHADING 3
#define CONTEXT_EDITING 4
#define CONTEXT_SCRIPT 5
//#define CONTEXT_LOGIC 6
// #define CONTEXT_SCRIPT 5
#define CONTEXT_LOGIC 6
/* sbuts->mainb old (deprecated) */
#ifdef DNA_DEPRECATED_ALLOW
/* SpaceButs.mainb old (deprecated) */
// #define BUTS_VIEW 0
#define BUTS_LAMP 1
#define BUTS_MAT 2
@ -167,9 +173,9 @@ typedef struct SpaceButs {
// #define BUTS_SOUND 12
#define BUTS_CONSTRAINT 13
// #define BUTS_EFFECTS 14
#endif
#endif /* DNA_DEPRECATED_ALLOW */
/* buts->mainb new */
/* SpaceButs.mainb new */
typedef enum eSpaceButtons_Context {
BCONTEXT_RENDER = 0,
BCONTEXT_SCENE = 1,
@ -191,7 +197,7 @@ typedef enum eSpaceButtons_Context {
BCONTEXT_TOT
} eSpaceButtons_Context;
/* sbuts->flag */
/* SpaceButs.flag */
typedef enum eSpaceButtons_Flag {
SB_PRV_OSA = (1 << 0),
SB_PIN_CONTEXT = (1 << 1),
@ -201,7 +207,7 @@ typedef enum eSpaceButtons_Flag {
SB_SHADING_CONTEXT = (1 << 4),
} eSpaceButtons_Flag;
/* sbuts->align */
/* SpaceButs.align */
typedef enum eSpaceButtons_Align {
BUT_FREE = 0,
BUT_HORIZONTAL = 1,
@ -209,7 +215,7 @@ typedef enum eSpaceButtons_Align {
BUT_AUTO = 3,
} eSpaceButtons_Align;
/* sbuts->scaflag */
/* SpaceButs.scaflag */
#define BUTS_SENS_SEL 1
#define BUTS_SENS_ACT 2
#define BUTS_SENS_LINK 4
@ -224,7 +230,11 @@ typedef enum eSpaceButtons_Align {
#define BUTS_CONT_INIT_STATE 2048
/* Outliner =============================================== */
/** \} */
/* -------------------------------------------------------------------- */
/** \name Outliner
* \{ */
/* Outliner */
typedef struct SpaceOops {
@ -235,9 +245,9 @@ typedef struct SpaceOops {
short blockhandler[8] DNA_DEPRECATED;
View2D v2d DNA_DEPRECATED; /* deprecated, copied to region */
ListBase tree;
/* treestore is an ordered list of TreeStoreElem's from outliner tree;
* Note that treestore may contain duplicate elements if element
* is used multiple times in outliner tree (e. g. linked objects)
@ -245,7 +255,7 @@ typedef struct SpaceOops {
* therefore readfile.c/writefile.c linearize treestore into TreeStore structure
*/
struct BLI_mempool *treestore;
/* search stuff */
char search_string[64];
struct TreeStoreElem search_tse;
@ -255,13 +265,13 @@ typedef struct SpaceOops {
char filter_state;
char pad;
short filter_id_type;
/* pointers to treestore elements, grouped by (id, type, nr) in hashtable for faster searching */
void *treehash;
} SpaceOops;
/* SpaceOops->flag */
/* SpaceOops.flag */
typedef enum eSpaceOutliner_Flag {
SO_TESTBLOCKS = (1 << 0),
SO_NEWSELECTED = (1 << 1),
@ -270,7 +280,7 @@ typedef enum eSpaceOutliner_Flag {
SO_SKIP_SORT_ALPHA = (1 << 4),
} eSpaceOutliner_Flag;
/* SpaceOops->filter */
/* SpaceOops.filter */
typedef enum eSpaceOutliner_Filter {
SO_FILTER_SEARCH = (1 << 0),
/* SO_FILTER_ENABLE = (1 << 1), */ /* Deprecated */
@ -312,7 +322,7 @@ typedef enum eSpaceOutliner_Filter {
SO_FILTER_OB_STATE | \
SO_FILTER_NO_COLLECTION)
/* SpaceOops->filter_state */
/* SpaceOops.filter_state */
typedef enum eSpaceOutliner_StateFilter {
SO_FILTER_OB_ALL = 0,
SO_FILTER_OB_VISIBLE = 1,
@ -320,7 +330,7 @@ typedef enum eSpaceOutliner_StateFilter {
SO_FILTER_OB_ACTIVE = 3,
} eSpaceOutliner_StateFilter;
/* SpaceOops->outlinevis */
/* SpaceOops.outlinevis */
typedef enum eSpaceOutliner_Mode {
SO_SCENES = 0,
/* SO_CUR_SCENE = 1, */ /* deprecated! */
@ -340,7 +350,7 @@ typedef enum eSpaceOutliner_Mode {
SO_VIEW_LAYER = 15,
} eSpaceOutliner_Mode;
/* SpaceOops->storeflag */
/* SpaceOops.storeflag */
typedef enum eSpaceOutliner_StoreFlag {
/* cleanup tree */
SO_TREESTORE_CLEANUP = (1 << 0),
@ -350,15 +360,18 @@ typedef enum eSpaceOutliner_StoreFlag {
SO_TREESTORE_REBUILD = (1 << 2),
} eSpaceOutliner_StoreFlag;
/* outliner search flags (SpaceOops->search_flags) */
/* outliner search flags (SpaceOops.search_flags) */
typedef enum eSpaceOutliner_Search_Flags {
SO_FIND_CASE_SENSITIVE = (1 << 0),
SO_FIND_COMPLETE = (1 << 1),
SO_SEARCH_RECURSIVE = (1 << 2),
} eSpaceOutliner_Search_Flags;
/** \} */
/* Graph Editor ========================================= */
/* -------------------------------------------------------------------- */
/** \name Graph Editor
* \{ */
/* 'Graph' Editor (formerly known as the IPO Editor) */
typedef struct SpaceIpo {
@ -367,17 +380,17 @@ typedef struct SpaceIpo {
int spacetype;
float blockscale DNA_DEPRECATED;
short blockhandler[8] DNA_DEPRECATED;
View2D v2d DNA_DEPRECATED; /* deprecated, copied to region */
struct bDopeSheet *ads; /* settings for filtering animation data (NOTE: we use a pointer due to code-linking issues) */
ListBase ghostCurves; /* sampled snapshots of F-Curves used as in-session guides */
short mode; /* mode for the Graph editor (eGraphEdit_Mode) */
short autosnap; /* time-transform autosnapping settings for Graph editor (eAnimEdit_AutoSnap in DNA_action_types.h) */
int flag; /* settings for Graph editor (eGraphEdit_Flag) */
float cursorTime; /* time value for cursor (when in drivers mode; animation uses current frame) */
float cursorVal; /* cursor value (y-value, x-value is current frame) */
int around; /* pivot point for transforms */
@ -385,11 +398,11 @@ typedef struct SpaceIpo {
} SpaceIpo;
/* SpaceIpo->flag (Graph Editor Settings) */
/* SpaceIpo.flag (Graph Editor Settings) */
typedef enum eGraphEdit_Flag {
/* OLD DEPRECEATED SETTING */
/* SIPO_LOCK_VIEW = (1 << 0), */
/* don't merge keyframes on the same frame after a transform */
SIPO_NOTRANSKEYCULL = (1 << 1),
/* don't show any keyframe handles at all */
@ -422,7 +435,7 @@ typedef enum eGraphEdit_Flag {
SIPO_NORMALIZE_FREEZE = (1 << 15),
} eGraphEdit_Flag;
/* SpaceIpo->mode (Graph Editor Mode) */
/* SpaceIpo.mode (Graph Editor Mode) */
typedef enum eGraphEdit_Mode {
/* all animation curves (from all over Blender) */
SIPO_MODE_ANIMATION = 0,
@ -430,8 +443,11 @@ typedef enum eGraphEdit_Mode {
SIPO_MODE_DRIVERS = 1,
} eGraphEdit_Mode;
/** \} */
/* NLA Editor ============================================= */
/* -------------------------------------------------------------------- */
/** \name NLA Editor
* \{ */
/* NLA Editor */
typedef struct SpaceNla {
@ -444,12 +460,12 @@ typedef struct SpaceNla {
short autosnap; /* this uses the same settings as autosnap for Action Editor */
short flag;
int pad;
struct bDopeSheet *ads;
View2D v2d DNA_DEPRECATED; /* deprecated, copied to region */
} SpaceNla;
/* nla->flag */
/* SpaceNla.flag */
typedef enum eSpaceNla_Flag {
/* flags (1<<0), (1<<1), and (1<<3) are deprecated flags from old verisons */
@ -465,10 +481,13 @@ typedef enum eSpaceNla_Flag {
SNLA_NOLOCALMARKERS = (1 << 7),
} eSpaceNla_Flag;
/** \} */
/* Timeline =============================================== */
/* -------------------------------------------------------------------- */
/** \name Timeline
* \{ */
/* time->redraws (now screen->redraws_flag) */
/* SpaceTime.redraws (now bScreen.redraws_flag) */
typedef enum eScreen_Redraws_Flag {
TIME_REGION = (1 << 0),
TIME_ALL_3D_WIN = (1 << 1),
@ -484,7 +503,11 @@ typedef enum eScreen_Redraws_Flag {
TIME_FOLLOW = (1 << 15),
} eScreen_Redraws_Flag;
/* Sequence Editor ======================================= */
/** \} */
/* -------------------------------------------------------------------- */
/** \name Sequence Editor
* \{ */
/* Sequencer */
typedef struct SpaceSeq {
@ -496,7 +519,7 @@ typedef struct SpaceSeq {
short blockhandler[8] DNA_DEPRECATED;
View2D v2d DNA_DEPRECATED; /* deprecated, copied to region */
float xof DNA_DEPRECATED, yof DNA_DEPRECATED; /* deprecated: offset for drawing the image preview */
short mainb; /* weird name for the sequencer subtype (seq, image, luma... etc) */
short render_size; /* eSpaceSeq_Proxy_RenderSize */
@ -521,7 +544,7 @@ typedef struct SpaceSeq {
} SpaceSeq;
/* sseq->mainb */
/* SpaceSeq.mainb */
typedef enum eSpaceSeq_RegionType {
SEQ_DRAW_SEQUENCE = 0,
SEQ_DRAW_IMG_IMBUF = 1,
@ -530,14 +553,14 @@ typedef enum eSpaceSeq_RegionType {
SEQ_DRAW_IMG_HISTOGRAM = 4,
} eSpaceSeq_RegionType;
/* sseq->draw_flag */
/* SpaceSeq.draw_flag */
typedef enum eSpaceSeq_DrawFlag {
SEQ_DRAW_BACKDROP = (1 << 0),
SEQ_DRAW_OFFSET_EXT = (1 << 1),
} eSpaceSeq_DrawFlag;
/* sseq->flag */
/* SpaceSeq.flag */
typedef enum eSpaceSeq_Flag {
SEQ_DRAWFRAMES = (1 << 0),
SEQ_MARKER_TRANS = (1 << 1),
@ -552,14 +575,14 @@ typedef enum eSpaceSeq_Flag {
SEQ_SHOW_METADATA = (1 << 10),
} eSpaceSeq_Flag;
/* sseq->view */
/* SpaceSeq.view */
typedef enum eSpaceSeq_Displays {
SEQ_VIEW_SEQUENCE = 1,
SEQ_VIEW_PREVIEW = 2,
SEQ_VIEW_SEQUENCE_PREVIEW = 3,
} eSpaceSeq_Dispays;
/* sseq->render_size */
/* SpaceSeq.render_size */
typedef enum eSpaceSeq_Proxy_RenderSize {
SEQ_PROXY_RENDER_SIZE_NONE = -1,
SEQ_PROXY_RENDER_SIZE_SCENE = 0,
@ -580,14 +603,18 @@ typedef struct MaskSpaceInfo {
char pad3[5];
} MaskSpaceInfo;
/* sseq->mainb */
/* SpaceSeq.mainb */
typedef enum eSpaceSeq_OverlayType {
SEQ_DRAW_OVERLAY_RECT = 0,
SEQ_DRAW_OVERLAY_REFERENCE = 1,
SEQ_DRAW_OVERLAY_CURRENT = 2
} eSpaceSeq_OverlayType;
/* File Selector ========================================== */
/** \} */
/* -------------------------------------------------------------------- */
/** \name File Selector
* \{ */
/* Config and Input for File Selector */
typedef struct FileSelectParams {
@ -632,28 +659,28 @@ typedef struct SpaceFile {
SpaceLink *next, *prev;
ListBase regionbase; /* storage of regions for inactive spaces */
int spacetype;
int scroll_offset;
struct FileSelectParams *params; /* config and input for file select */
struct FileList *files; /* holds the list of files to show */
ListBase *folders_prev; /* holds the list of previous directories to show */
ListBase *folders_next; /* holds the list of next directories (pushed from previous) to show */
/* operator that is invoking fileselect
/* operator that is invoking fileselect
* op->exec() will be called on the 'Load' button.
* if operator provides op->cancel(), then this will be invoked
* on the cancel button.
*/
struct wmOperator *op;
struct wmOperator *op;
struct wmTimer *smoothscroll_timer;
struct wmTimer *previews_timer;
struct FileLayout *layout;
short recentnr, bookmarknr;
short systemnr, system_bookmarknr;
} SpaceFile;
@ -862,7 +889,11 @@ enum {
FILE_ENTRY_INVALID_PREVIEW = 1 << 0, /* The preview for this entry could not be generated. */
};
/* Image/UV Editor ======================================== */
/** \} */
/* -------------------------------------------------------------------- */
/** \name Image/UV Editor
* \{ */
/* Image/UV Editor */
typedef struct SpaceImage {
@ -903,7 +934,7 @@ typedef struct SpaceImage {
} SpaceImage;
/* SpaceImage->dt_uv */
/* SpaceImage.dt_uv */
typedef enum eSpaceImage_UVDT {
SI_UVDT_OUTLINE = 0,
SI_UVDT_DASH = 1,
@ -911,20 +942,20 @@ typedef enum eSpaceImage_UVDT {
SI_UVDT_WHITE = 3,
} eSpaceImage_UVDT;
/* SpaceImage->dt_uvstretch */
/* SpaceImage.dt_uvstretch */
typedef enum eSpaceImage_UVDT_Stretch {
SI_UVDT_STRETCH_ANGLE = 0,
SI_UVDT_STRETCH_AREA = 1,
} eSpaceImage_UVDT_Stretch;
/* SpaceImage->mode */
/* SpaceImage.mode */
typedef enum eSpaceImage_Mode {
SI_MODE_VIEW = 0,
SI_MODE_PAINT = 1,
SI_MODE_MASK = 2 /* note: mesh edit mode overrides mask */
} eSpaceImage_Mode;
/* SpaceImage->sticky
/* SpaceImage.sticky
* Note DISABLE should be 0, however would also need to re-arrange icon order,
* also, sticky loc is the default mode so this means we don't need to 'do_versions' */
typedef enum eSpaceImage_Sticky {
@ -933,7 +964,7 @@ typedef enum eSpaceImage_Sticky {
SI_STICKY_VERTEX = 2,
} eSpaceImage_Sticky;
/* SpaceImage->flag */
/* SpaceImage.flag */
typedef enum eSpaceImage_Flag {
/* SI_BE_SQUARE = (1 << 0), */ /* deprecated */
/* SI_EDITTILE = (1 << 1), */ /* deprecated */
@ -950,14 +981,14 @@ typedef enum eSpaceImage_Flag {
SI_USE_ALPHA = (1 << 12),
SI_SHOW_ALPHA = (1 << 13),
SI_SHOW_ZBUF = (1 << 14),
/* next two for render window display */
SI_PREVSPACE = (1 << 15),
SI_FULLWINDOW = (1 << 16),
/* SI_DEPRECATED4 = (1 << 17), */ /* deprecated */
/* SI_DEPRECATED5 = (1 << 18), */ /* deprecated */
/* this means that the image is drawn until it reaches the view edge,
* in the image view, it's unrelated to the 'tile' mode for texface
*/
@ -977,13 +1008,17 @@ typedef enum eSpaceImage_Flag {
SI_SHOW_B = (1 << 29),
} eSpaceImage_Flag;
/* SpaceImage->other_uv_filter */
/* SpaceImage.other_uv_filter */
typedef enum eSpaceImage_OtherUVFilter {
SI_FILTER_SAME_IMAGE = 0,
SI_FILTER_ALL = 1,
} eSpaceImage_OtherUVFilter;
/* Text Editor ============================================ */
/** \} */
/* -------------------------------------------------------------------- */
/** \name Text Editor
* \{ */
/* Text Editor */
typedef struct SpaceText {
@ -1032,20 +1067,24 @@ typedef enum eSpaceText_Flags {
/* scrollable */
ST_SCROLL_SELECT = (1 << 0),
/* clear namespace after script execution (BPY_main.c) */
ST_CLEAR_NAMESPACE = (1 << 4),
ST_CLEAR_NAMESPACE = (1 << 4),
ST_FIND_WRAP = (1 << 5),
ST_FIND_ALL = (1 << 6),
ST_SHOW_MARGIN = (1 << 7),
ST_MATCH_CASE = (1 << 8),
ST_FIND_ACTIVATE = (1 << 9),
} eSpaceText_Flags;
/* stext->findstr/replacestr */
/* SpaceText.findstr/replacestr */
#define ST_MAX_FIND_STR 256
/* Script View (Obsolete) ================================== */
/** \} */
/* -------------------------------------------------------------------- */
/** \name Script View (Obsolete)
* \{ */
/* Script Runtime Data - Obsolete (pre 2.5) */
typedef struct Script {
@ -1074,22 +1113,24 @@ typedef struct SpaceScript {
short flags, menunr;
int pad1;
void *but_refs;
} SpaceScript;
/* Nodes Editor =========================================== */
/** \} */
/* Node Editor */
/* -------------------------------------------------------------------- */
/** \name Nodes Editor
* \{ */
typedef struct bNodeTreePath {
struct bNodeTreePath *next, *prev;
struct bNodeTree *nodetree;
bNodeInstanceKey parent_key; /* base key for nodes in this tree instance */
int pad;
float view_center[2]; /* v2d center point, so node trees can have different offsets in editors */
char node_name[64]; /* MAX_NAME */
} bNodeTreePath;
@ -1099,31 +1140,31 @@ typedef struct SpaceNode {
int spacetype;
float blockscale DNA_DEPRECATED;
short blockhandler[8] DNA_DEPRECATED;
View2D v2d DNA_DEPRECATED; /* deprecated, copied to region */
struct ID *id, *from; /* context, no need to save in file? well... pinning... */
short flag, pad1; /* menunr: browse id block in header */
float aspect, pad2; /* internal state variables */
float xof, yof; /* offset for drawing the backdrop */
float zoom; /* zoom for backdrop */
float cursor[2]; /* mouse pos for drawing socketless link and adding nodes */
/* XXX nodetree pointer info is all in the path stack now,
* remove later on and use bNodeTreePath instead. For now these variables are set when pushing/popping
* from path stack, to avoid having to update all the functions and operators. Can be done when
* design is accepted and everything is properly tested.
*/
ListBase treepath;
struct bNodeTree *nodetree, *edittree;
/* tree type for the current node tree */
char tree_idname[64];
int treetype DNA_DEPRECATED; /* treetype: as same nodetree->type */
int pad3;
short texfrom; /* texfrom object, world or brush */
short shaderfrom; /* shader from object or world */
short recalc; /* currently on 0/1, for auto compo */
@ -1138,7 +1179,7 @@ typedef struct SpaceNode {
struct bGPdata *gpd; /* grease-pencil data */
} SpaceNode;
/* snode->flag */
/* SpaceNode.flag */
typedef enum eSpaceNode_Flag {
SNODE_BACKDRAW = (1 << 1),
SNODE_SHOW_GPENCIL = (1 << 2),
@ -1149,13 +1190,13 @@ typedef enum eSpaceNode_Flag {
SNODE_SHOW_B = (1 << 9),
SNODE_AUTO_RENDER = (1 << 5),
// SNODE_SHOW_HIGHLIGHT = (1 << 6), DNA_DEPRECATED
// SNODE_USE_HIDDEN_PREVIEW = (1 << 10), DNA_DEPRECATED December2013
// SNODE_USE_HIDDEN_PREVIEW = (1 << 10), DNA_DEPRECATED December2013
// SNODE_NEW_SHADERS = (1 << 11), DNA_DEPRECATED
SNODE_PIN = (1 << 12),
SNODE_SKIP_INSOFFSET = (1 << 13), /* automatically offset following nodes in a chain on insertion */
} eSpaceNode_Flag;
/* snode->texfrom */
/* SpaceNode.texfrom */
typedef enum eSpaceNode_TexFrom {
/* SNODE_TEX_OBJECT = 0, */
SNODE_TEX_WORLD = 1,
@ -1163,30 +1204,34 @@ typedef enum eSpaceNode_TexFrom {
SNODE_TEX_LINESTYLE = 3,
} eSpaceNode_TexFrom;
/* snode->shaderfrom */
/* SpaceNode.shaderfrom */
typedef enum eSpaceNode_ShaderFrom {
SNODE_SHADER_OBJECT = 0,
SNODE_SHADER_WORLD = 1,
SNODE_SHADER_LINESTYLE = 2,
} eSpaceNode_ShaderFrom;
/* snode->insert_ofs_dir */
/* SpaceNode.insert_ofs_dir */
enum {
SNODE_INSERTOFS_DIR_RIGHT = 0,
SNODE_INSERTOFS_DIR_LEFT = 1,
};
/* Console ================================================ */
/** \} */
/* -------------------------------------------------------------------- */
/** \name Console
* \{ */
/* Console content */
typedef struct ConsoleLine {
struct ConsoleLine *next, *prev;
/* keep these 3 vars so as to share free, realloc funcs */
int len_alloc; /* allocated length */
int len; /* real len - strlen() */
char *line;
char *line;
int cursor;
int type; /* only for use when in the 'scrollback' listbase */
} ConsoleLine;
@ -1207,7 +1252,7 @@ typedef struct SpaceConsole {
int spacetype;
float blockscale DNA_DEPRECATED; // XXX are these needed?
short blockhandler[8] DNA_DEPRECATED; // XXX are these needed?
/* space vars */
int lheight, pad;
@ -1215,26 +1260,32 @@ typedef struct SpaceConsole {
ListBase history; /* ConsoleLine; command history, current edited line is the first */
char prompt[256];
char language[32]; /* multiple consoles are possible, not just python */
int sel_start;
int sel_end;
} SpaceConsole;
/** \} */
/* User Preferences ======================================= */
/* -------------------------------------------------------------------- */
/** \name User Preferences
* \{ */
/* User Preferences View */
typedef struct SpaceUserPref {
SpaceLink *next, *prev;
ListBase regionbase; /* storage of regions for inactive spaces */
int spacetype;
char pad[3];
char filter_type;
char filter[64]; /* search term for filtering in the UI */
} SpaceUserPref;
/* Motion Tracking ======================================== */
/** \} */
/* -------------------------------------------------------------------- */
/** \name Motion Tracking
* \{ */
/* Clip Editor */
typedef struct SpaceClip {
@ -1275,7 +1326,7 @@ typedef struct SpaceClip {
MaskSpaceInfo mask_info;
} SpaceClip;
/* SpaceClip->flag */
/* SpaceClip.flag */
typedef enum eSpaceClip_Flag {
SC_SHOW_MARKER_PATTERN = (1 << 0),
SC_SHOW_MARKER_SEARCH = (1 << 1),
@ -1302,7 +1353,7 @@ typedef enum eSpaceClip_Flag {
SC_SHOW_METADATA = (1 << 22),
} eSpaceClip_Flag;
/* SpaceClip->mode */
/* SpaceClip.mode */
typedef enum eSpaceClip_Mode {
SC_MODE_TRACKING = 0,
/*SC_MODE_RECONSTRUCTION = 1,*/ /* DEPRECATED */
@ -1310,21 +1361,25 @@ typedef enum eSpaceClip_Mode {
SC_MODE_MASKEDIT = 3,
} eSpaceClip_Mode;
/* SpaceClip->view */
/* SpaceClip.view */
typedef enum eSpaceClip_View {
SC_VIEW_CLIP = 0,
SC_VIEW_GRAPH = 1,
SC_VIEW_DOPESHEET = 2,
} eSpaceClip_View;
/* SpaceClip->gpencil_src */
/* SpaceClip.gpencil_src */
typedef enum eSpaceClip_GPencil_Source {
SC_GPENCIL_SRC_CLIP = 0,
SC_GPENCIL_SRC_TRACK = 1,
} eSpaceClip_GPencil_Source;
/* Top Bar ======================================= */
/** \} */
/* -------------------------------------------------------------------- */
/** \name Top Bar
* \{ */
/* These two lines with # tell makesdna this struct can be excluded.
* Should be: #ifndef WITH_GLOBAL_AREA_WRITING */
@ -1338,7 +1393,11 @@ typedef struct SpaceTopBar {
int pad;
} SpaceTopBar;
/* Status Bar ======================================= */
/** \} */
/* -------------------------------------------------------------------- */
/** \name Status Bar
* \{ */
/* These two lines with # tell makesdna this struct can be excluded.
* Should be: #ifndef WITH_GLOBAL_AREA_WRITING */
@ -1352,8 +1411,11 @@ typedef struct SpaceStatusBar {
int pad;
} SpaceStatusBar;
/** \} */
/* **************** SPACE DEFINES ********************* */
/* -------------------------------------------------------------------- */
/** \name Space Type Definitions
* \{ */
/* space types, moved from DNA_screen_types.h */
/* Do NOT change order, append on end. types are hardcoded needed */
@ -1391,7 +1453,8 @@ typedef enum eSpace_Type {
/* use for function args */
#define SPACE_TYPE_ANY -1
#define IMG_SIZE_FALLBACK 256
/** \} */
#endif /* __DNA_SPACE_TYPES_H__ */