{
wxPaintDC dc (_labels_canvas);
+ auto film = _film.lock();
+ if (film->content().empty()) {
+ return;
+ }
+
auto gc = wxGraphicsContext::Create (dc);
if (!gc) {
return;
Timeline::paint_main ()
{
wxPaintDC dc (_main_canvas);
+
+ auto film = _film.lock();
+ if (film->content().empty()) {
+ return;
+ }
+
_main_canvas->DoPrepareDC (dc);
auto gc = wxGraphicsContext::Create (dc);
int t = base;
auto content = cv->content();
- DCPTimePeriod const content_period (content->position(), content->end(film));
+ DCPTimePeriod const content_period = content->period(film);
while (true) {
auto j = views.begin();
auto test_content = test->content();
if (
test->track() && test->track().get() == t &&
- content_period.overlap(DCPTimePeriod(test_content->position(), test_content->end(film)))) {
+ content_period.overlap(test_content->period(film))
+ ) {
/* we have an overlap on track `t' */
++t;
break;
_labels_canvas->Scroll (0, 0);
Refresh ();
}
+
+
+void
+Timeline::keypress(wxKeyEvent const& event)
+{
+ if (event.GetKeyCode() == WXK_DELETE) {
+ auto film = _film.lock();
+ film->remove_content(selected_content());
+ }
+}
+