1 ///////////////////////////////////////////////////////////////////////////// 2 // Name: SubPicture.h 3 // Author: Alex Thuering 4 // Created: 24.02.2018 5 // Copyright: (c) Alex Thuering 6 // Licence: GPL 7 ///////////////////////////////////////////////////////////////////////////// 8 9 #ifndef SUB_STREAM_H 10 #define SUB_STREAM_H 11 12 #include "DVDAction.h" 13 #include <vector> 14 15 using namespace std; 16 17 enum SubStreamMode { 18 ssmNORMAL = 0, 19 ssmWIDESCREEN, 20 ssmLETTERBOX, 21 ssmPANSCAN 22 }; 23 24 enum SubStreamContent { 25 sscNORMAL = 0, sscLARGE, sscCHILDREN, sscNORMAL_CC, sscLARGE_CC, sscCHILDREN_CC, sscFORCED, sscDIRECTOR, 26 sscLARGE_DIRECTOR, sscCHILDREN_DIRECTOR 27 }; 28 29 /** 30 * Stores information about subpicture stream 31 */ 32 class SubStream { 33 public: 34 /** Default constructor */ SubStream()35 SubStream(): m_mode(ssmNORMAL), m_content(sscNORMAL) {} 36 /** Constructor */ SubStream(wxString id,SubStreamMode mode)37 SubStream(wxString id, SubStreamMode mode): m_id(id), m_mode(mode), m_content(sscNORMAL) {} 38 39 /** Sets id */ SetId(wxString id)40 void SetId(wxString id) { m_id = id; } 41 /** Returns id */ GetId()42 wxString GetId() { return m_id; } 43 44 /** Sets mode */ SetMode(SubStreamMode mode)45 void SetMode(SubStreamMode mode) { m_mode = mode; } 46 /** Returns mode */ GetMode()47 SubStreamMode GetMode() { return m_mode; } 48 49 /** Sets content type */ SetContent(SubStreamContent content)50 void SetContent(SubStreamContent content) { m_content = content; } 51 /** Returns content type */ GetContent()52 SubStreamContent GetContent() { return m_content; } 53 54 wxSvgXmlNode* GetXML(DVDFileType type); 55 bool PutXML(wxSvgXmlNode* node); 56 57 private: 58 wxString m_id; 59 SubStreamMode m_mode; 60 SubStreamContent m_content; 61 }; 62 63 #endif // SUB_STREAM_H 64