, _frame_number (new wxStaticText (this, wxID_ANY, wxT("")))
, _timecode (new wxStaticText (this, wxID_ANY, wxT("")))
, _play_button (new wxToggleButton (this, wxID_ANY, _("Play")))
+ , _last_get_accurate (true)
{
#ifndef __WXOSX__
_panel->SetDoubleBuffered (true);
_player->Changed.connect (boost::bind (&FilmViewer::player_changed, this, _1));
calculate_sizes ();
- get (_position, true);
+ get (_position, _last_get_accurate);
}
void
set_position_text ();
_panel->Refresh ();
_panel->Update ();
+
+ _last_get_accurate = accurate;
}
void
_panel_size.width = ev.GetSize().GetWidth();
_panel_size.height = ev.GetSize().GetHeight();
calculate_sizes ();
- get (_position, true);
+ get (_position, _last_get_accurate);
}
void
}
calculate_sizes ();
- get (_position, true);
+ get (_position, _last_get_accurate);
}
dcp::Size _out_size;
/** Size of the panel that we have available */
dcp::Size _panel_size;
+ /** true if the last call to ::get() was specified to be accurate;
+ * this is used so that when re-fetching the current frame we
+ * can get the same one that we got last time.
+ */
+ bool _last_get_accurate;
};