Changeset View
Changeset View
Standalone View
Standalone View
source/blender/editors/space_sequencer/space_sequencer.c
| Show All 38 Lines | |||||
| #include "SEQ_sequencer.h" | #include "SEQ_sequencer.h" | ||||
| #include "SEQ_time.h" | #include "SEQ_time.h" | ||||
| #include "SEQ_transform.h" | #include "SEQ_transform.h" | ||||
| #include "SEQ_utils.h" | #include "SEQ_utils.h" | ||||
| #include "UI_interface.h" | #include "UI_interface.h" | ||||
| #include "UI_view2d.h" | #include "UI_view2d.h" | ||||
| #include "BLO_read_write.h" | |||||
| #include "IMB_imbuf.h" | #include "IMB_imbuf.h" | ||||
| /* Only for cursor drawing. */ | /* Only for cursor drawing. */ | ||||
| #include "DRW_engine.h" | #include "DRW_engine.h" | ||||
| /* Own include. */ | /* Own include. */ | ||||
| #include "sequencer_intern.h" | #include "sequencer_intern.h" | ||||
| ▲ Show 20 Lines • Show All 931 Lines • ▼ Show 20 Lines | static void sequencer_channel_region_init(wmWindowManager *wm, ARegion *region) | ||||
| WM_event_add_keymap_handler_v2d_mask(®ion->handlers, keymap); | WM_event_add_keymap_handler_v2d_mask(®ion->handlers, keymap); | ||||
| } | } | ||||
| static void sequencer_channel_region_draw(const bContext *C, ARegion *region) | static void sequencer_channel_region_draw(const bContext *C, ARegion *region) | ||||
| { | { | ||||
| draw_channels(C, region); | draw_channels(C, region); | ||||
| } | } | ||||
| static void sequencer_blend_read_data(BlendDataReader *UNUSED(reader), SpaceLink *sl) | |||||
| { | |||||
| SpaceSeq *sseq = (SpaceSeq *)sl; | |||||
| /* grease pencil data is not a direct data and can't be linked from direct_link* | |||||
| * functions, it should be linked from lib_link* functions instead | |||||
| * | |||||
| * otherwise it'll lead to lost grease data on open because it'll likely be | |||||
| * read from file after all other users of grease pencil and newdataadr would | |||||
| * simple return NULL here (sergey) | |||||
| */ | |||||
| #if 0 | |||||
| if (sseq->gpd) { | |||||
| sseq->gpd = newdataadr(fd, sseq->gpd); | |||||
| BKE_gpencil_blend_read_data(fd, sseq->gpd); | |||||
| } | |||||
| #endif | |||||
| sseq->scopes.reference_ibuf = NULL; | |||||
| sseq->scopes.zebra_ibuf = NULL; | |||||
| sseq->scopes.waveform_ibuf = NULL; | |||||
| sseq->scopes.sep_waveform_ibuf = NULL; | |||||
| sseq->scopes.vector_ibuf = NULL; | |||||
| sseq->scopes.histogram_ibuf = NULL; | |||||
| memset(&sseq->runtime, 0x0, sizeof(sseq->runtime)); | |||||
| } | |||||
| static void sequencer_blend_read_lib(BlendLibReader *reader, ID *parent_id, SpaceLink *sl) | |||||
| { | |||||
| SpaceSeq *sseq = (SpaceSeq *)sl; | |||||
| /* NOTE: pre-2.5, this was local data not lib data, but now we need this as lib data | |||||
| * so fingers crossed this works fine! | |||||
| */ | |||||
| BLO_read_id_address(reader, parent_id->lib, &sseq->gpd); | |||||
| } | |||||
| static void sequencer_blend_write(BlendWriter *writer, SpaceLink *sl) | |||||
| { | |||||
| BLO_write_struct(writer, SpaceSeq, sl); | |||||
| } | |||||
| void ED_spacetype_sequencer(void) | void ED_spacetype_sequencer(void) | ||||
| { | { | ||||
| SpaceType *st = MEM_callocN(sizeof(SpaceType), "spacetype sequencer"); | SpaceType *st = MEM_callocN(sizeof(SpaceType), "spacetype sequencer"); | ||||
| ARegionType *art; | ARegionType *art; | ||||
| st->spaceid = SPACE_SEQ; | st->spaceid = SPACE_SEQ; | ||||
| STRNCPY(st->name, "Sequencer"); | STRNCPY(st->name, "Sequencer"); | ||||
| st->create = sequencer_create; | st->create = sequencer_create; | ||||
| st->free = sequencer_free; | st->free = sequencer_free; | ||||
| st->init = sequencer_init; | st->init = sequencer_init; | ||||
| st->duplicate = sequencer_duplicate; | st->duplicate = sequencer_duplicate; | ||||
| st->operatortypes = sequencer_operatortypes; | st->operatortypes = sequencer_operatortypes; | ||||
| st->keymap = sequencer_keymap; | st->keymap = sequencer_keymap; | ||||
| st->context = sequencer_context; | st->context = sequencer_context; | ||||
| st->gizmos = sequencer_gizmos; | st->gizmos = sequencer_gizmos; | ||||
| st->dropboxes = sequencer_dropboxes; | st->dropboxes = sequencer_dropboxes; | ||||
| st->refresh = sequencer_refresh; | st->refresh = sequencer_refresh; | ||||
| st->listener = sequencer_listener; | st->listener = sequencer_listener; | ||||
| st->id_remap = sequencer_id_remap; | st->id_remap = sequencer_id_remap; | ||||
| st->blend_read_data = sequencer_blend_read_data; | |||||
| st->blend_read_lib = sequencer_blend_read_lib; | |||||
| st->blend_write = sequencer_blend_write; | |||||
| /* Create regions: */ | /* Create regions: */ | ||||
| /* Main window. */ | /* Main window. */ | ||||
| art = MEM_callocN(sizeof(ARegionType), "spacetype sequencer region"); | art = MEM_callocN(sizeof(ARegionType), "spacetype sequencer region"); | ||||
| art->regionid = RGN_TYPE_WINDOW; | art->regionid = RGN_TYPE_WINDOW; | ||||
| art->init = sequencer_main_region_init; | art->init = sequencer_main_region_init; | ||||
| art->draw = sequencer_main_region_draw; | art->draw = sequencer_main_region_draw; | ||||
| art->draw_overlay = sequencer_main_region_draw_overlay; | art->draw_overlay = sequencer_main_region_draw_overlay; | ||||
| ▲ Show 20 Lines • Show All 88 Lines • Show Last 20 Lines | |||||