Changeset View
Changeset View
Standalone View
Standalone View
source/blender/blenkernel/intern/screen.c
| Show First 20 Lines • Show All 221 Lines • ▼ Show 20 Lines | switch (sl->spacetype) { | ||||
| BKE_LIB_FOREACHID_PROCESS(data, sclip->clip, IDWALK_CB_USER_ONE); | BKE_LIB_FOREACHID_PROCESS(data, sclip->clip, IDWALK_CB_USER_ONE); | ||||
| BKE_LIB_FOREACHID_PROCESS(data, sclip->mask_info.mask, IDWALK_CB_USER_ONE); | BKE_LIB_FOREACHID_PROCESS(data, sclip->mask_info.mask, IDWALK_CB_USER_ONE); | ||||
| break; | break; | ||||
| } | } | ||||
| case SPACE_SPREADSHEET: { | case SPACE_SPREADSHEET: { | ||||
| SpaceSpreadsheet *sspreadsheet = (SpaceSpreadsheet *)sl; | SpaceSpreadsheet *sspreadsheet = (SpaceSpreadsheet *)sl; | ||||
| BKE_LIB_FOREACHID_PROCESS_ID(data, sspreadsheet->pinned_id, IDWALK_CB_NOP); | LISTBASE_FOREACH (SpreadsheetContext *, context, &sspreadsheet->context_path) { | ||||
| if (context->type == SPREADSHEET_CONTEXT_OBJECT) { | |||||
| BKE_LIB_FOREACHID_PROCESS( | |||||
| data, ((SpreadsheetContextObject *)context)->object, IDWALK_CB_NOP); | |||||
| } | |||||
| } | |||||
| break; | break; | ||||
| } | } | ||||
| default: | default: | ||||
| break; | break; | ||||
| } | } | ||||
| } | } | ||||
| } | } | ||||
| ▲ Show 20 Lines • Show All 1,106 Lines • ▼ Show 20 Lines | LISTBASE_FOREACH (SpaceLink *, sl, &area->spacedata) { | ||||
| else if (sl->spacetype == SPACE_CLIP) { | else if (sl->spacetype == SPACE_CLIP) { | ||||
| BLO_write_struct(writer, SpaceClip, sl); | BLO_write_struct(writer, SpaceClip, sl); | ||||
| } | } | ||||
| else if (sl->spacetype == SPACE_INFO) { | else if (sl->spacetype == SPACE_INFO) { | ||||
| BLO_write_struct(writer, SpaceInfo, sl); | BLO_write_struct(writer, SpaceInfo, sl); | ||||
| } | } | ||||
| else if (sl->spacetype == SPACE_SPREADSHEET) { | else if (sl->spacetype == SPACE_SPREADSHEET) { | ||||
| BLO_write_struct(writer, SpaceSpreadsheet, sl); | BLO_write_struct(writer, SpaceSpreadsheet, sl); | ||||
| SpaceSpreadsheet *sspreadsheet = (SpaceSpreadsheet *)sl; | |||||
| LISTBASE_FOREACH (SpreadsheetColumn *, column, &sspreadsheet->columns) { | |||||
| BLO_write_struct(writer, SpreadsheetColumn, column); | |||||
| BLO_write_struct(writer, SpreadsheetColumnID, column->id); | |||||
| BLO_write_string(writer, column->id->name); | |||||
| } | |||||
| LISTBASE_FOREACH (SpreadsheetContext *, context, &sspreadsheet->context_path) { | |||||
| switch (context->type) { | |||||
| case SPREADSHEET_CONTEXT_OBJECT: { | |||||
| SpreadsheetContextObject *object_context = (SpreadsheetContextObject *)context; | |||||
| BLO_write_struct(writer, SpreadsheetContextObject, object_context); | |||||
| break; | |||||
| } | |||||
| case SPREADSHEET_CONTEXT_MODIFIER: { | |||||
| SpreadsheetContextModifier *modifier_context = (SpreadsheetContextModifier *)context; | |||||
| BLO_write_struct(writer, SpreadsheetContextModifier, modifier_context); | |||||
| BLO_write_string(writer, modifier_context->modifier_name); | |||||
| break; | |||||
| } | |||||
| case SPREADSHEET_CONTEXT_NODE: { | |||||
| SpreadsheetContextNode *node_context = (SpreadsheetContextNode *)context; | |||||
| BLO_write_struct(writer, SpreadsheetContextNode, node_context); | |||||
| BLO_write_string(writer, node_context->node_name); | |||||
| break; | |||||
| } | |||||
| } | |||||
| } | |||||
| } | } | ||||
| } | } | ||||
| } | } | ||||
| void BKE_screen_area_map_blend_write(BlendWriter *writer, ScrAreaMap *area_map) | void BKE_screen_area_map_blend_write(BlendWriter *writer, ScrAreaMap *area_map) | ||||
| { | { | ||||
| BLO_write_struct_list(writer, ScrVert, &area_map->vertbase); | BLO_write_struct_list(writer, ScrVert, &area_map->vertbase); | ||||
| BLO_write_struct_list(writer, ScrEdge, &area_map->edgebase); | BLO_write_struct_list(writer, ScrEdge, &area_map->edgebase); | ||||
| ▲ Show 20 Lines • Show All 336 Lines • ▼ Show 20 Lines | else if (sl->spacetype == SPACE_CLIP) { | ||||
| sclip->scopes.track_search = NULL; | sclip->scopes.track_search = NULL; | ||||
| sclip->scopes.track_preview = NULL; | sclip->scopes.track_preview = NULL; | ||||
| sclip->scopes.ok = 0; | sclip->scopes.ok = 0; | ||||
| } | } | ||||
| else if (sl->spacetype == SPACE_SPREADSHEET) { | else if (sl->spacetype == SPACE_SPREADSHEET) { | ||||
| SpaceSpreadsheet *sspreadsheet = (SpaceSpreadsheet *)sl; | SpaceSpreadsheet *sspreadsheet = (SpaceSpreadsheet *)sl; | ||||
| sspreadsheet->runtime = NULL; | sspreadsheet->runtime = NULL; | ||||
| BLO_read_list(reader, &sspreadsheet->columns); | |||||
| LISTBASE_FOREACH (SpreadsheetColumn *, column, &sspreadsheet->columns) { | |||||
| BLO_read_data_address(reader, &column->id); | |||||
| BLO_read_data_address(reader, &column->id->name); | |||||
| } | |||||
| BLO_read_list(reader, &sspreadsheet->context_path); | |||||
| LISTBASE_FOREACH (SpreadsheetContext *, context, &sspreadsheet->context_path) { | |||||
| switch (context->type) { | |||||
| case SPREADSHEET_CONTEXT_NODE: { | |||||
| SpreadsheetContextNode *node_context = (SpreadsheetContextNode *)context; | |||||
| BLO_read_data_address(reader, &node_context->node_name); | |||||
| break; | |||||
| } | |||||
| case SPREADSHEET_CONTEXT_MODIFIER: { | |||||
| SpreadsheetContextModifier *modifier_context = (SpreadsheetContextModifier *)context; | |||||
| BLO_read_data_address(reader, &modifier_context->modifier_name); | |||||
| break; | |||||
| } | |||||
| case SPREADSHEET_CONTEXT_OBJECT: { | |||||
| break; | |||||
| } | |||||
| } | |||||
| } | |||||
| } | } | ||||
| } | } | ||||
| BLI_listbase_clear(&area->actionzones); | BLI_listbase_clear(&area->actionzones); | ||||
| BLO_read_data_address(reader, &area->v1); | BLO_read_data_address(reader, &area->v1); | ||||
| BLO_read_data_address(reader, &area->v2); | BLO_read_data_address(reader, &area->v2); | ||||
| BLO_read_data_address(reader, &area->v3); | BLO_read_data_address(reader, &area->v3); | ||||
| ▲ Show 20 Lines • Show All 200 Lines • ▼ Show 20 Lines | switch (sl->spacetype) { | ||||
| case SPACE_CLIP: { | case SPACE_CLIP: { | ||||
| SpaceClip *sclip = (SpaceClip *)sl; | SpaceClip *sclip = (SpaceClip *)sl; | ||||
| BLO_read_id_address(reader, parent_id->lib, &sclip->clip); | BLO_read_id_address(reader, parent_id->lib, &sclip->clip); | ||||
| BLO_read_id_address(reader, parent_id->lib, &sclip->mask_info.mask); | BLO_read_id_address(reader, parent_id->lib, &sclip->mask_info.mask); | ||||
| break; | break; | ||||
| } | } | ||||
| case SPACE_SPREADSHEET: { | case SPACE_SPREADSHEET: { | ||||
| SpaceSpreadsheet *sspreadsheet = (SpaceSpreadsheet *)sl; | SpaceSpreadsheet *sspreadsheet = (SpaceSpreadsheet *)sl; | ||||
| BLO_read_id_address(reader, parent_id->lib, &sspreadsheet->pinned_id); | LISTBASE_FOREACH (SpreadsheetContext *, context, &sspreadsheet->context_path) { | ||||
| if (context->type == SPREADSHEET_CONTEXT_OBJECT) { | |||||
| BLO_read_id_address( | |||||
| reader, parent_id->lib, &((SpreadsheetContextObject *)context)->object); | |||||
| } | |||||
| } | |||||
| break; | break; | ||||
| } | } | ||||
| default: | default: | ||||
| break; | break; | ||||
| } | } | ||||
| } | } | ||||
| } | } | ||||