X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Fwx%2Fclosed_captions_dialog.h;h=fb4e9d59b40c5569e90a02c5013f28bd2a051531;hb=3044ef060894c62e8a1cef15ad14078001093982;hp=ca19cc95ad97b0205c3955502a24dded4f5cdf1f;hpb=bd763364d9c96928f3bd6bd5fe46ebe1a06e6d0a;p=dcpomatic.git diff --git a/src/wx/closed_captions_dialog.h b/src/wx/closed_captions_dialog.h index ca19cc95a..fb4e9d59b 100644 --- a/src/wx/closed_captions_dialog.h +++ b/src/wx/closed_captions_dialog.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2018 Carl Hetherington + Copyright (C) 2018-2019 Carl Hetherington This file is part of DCP-o-matic. @@ -19,24 +19,33 @@ */ #include "lib/dcpomatic_time.h" -#include "lib/player_caption.h" +#include "lib/player.h" +#include "lib/text_ring_buffers.h" #include -class ClosedCaptionsView : public wxDialog +class Butler; +class FilmViewer; + +class ClosedCaptionsDialog : public wxDialog { public: - ClosedCaptionsView (wxWindow* parent); + explicit ClosedCaptionsDialog (wxWindow* parent, FilmViewer* viewer); - void refresh (DCPTime); - void caption (PlayerCaption, DCPTimePeriod); + void update (dcpomatic::DCPTime); void clear (); + void set_film_and_butler (boost::shared_ptr, boost::weak_ptr); private: void paint (); + void track_selected (); - typedef std::pair Caption; - std::list _captions; + FilmViewer* _viewer; + wxPanel* _display; + wxChoice* _track; + boost::optional _current; + bool _current_in_lines; std::vector _lines; - static int const _num_lines; - static int const _num_chars_per_line; + std::vector _tracks; + boost::weak_ptr _butler; + dcpomatic::DCPTime _last_update; };