MythTV master
cc708reader.h
Go to the documentation of this file.
1// -*- Mode: c++ -*-
2// Copyright (c) 2003-2005, Daniel Kristjansson
3
4#ifndef CC708READER_H
5#define CC708READER_H
6
7#include <cstdint>
10
11class MythPlayer;
12
14
16{
17 public:
18 explicit CC708Reader();
19 virtual ~CC708Reader() = default;
20
21 void SetCurrentService(int service) { m_currentService = service; }
23 void SetEnabled(bool enable) { m_enabled = enable; }
24 void ClearBuffers(void);
25
27 { return &(m_cc708services[service_num]); }
28 CC708Window &GetCCWin(uint service_num, uint window_id)
29 { return m_cc708services[service_num].m_windows[window_id]; }
31 { return GetCCWin(svc_num, m_cc708services[svc_num].m_currentWindow); }
32
33 // Window settings
34 virtual void SetCurrentWindow(uint service_num, int window_id);
35 virtual void DefineWindow(uint service_num, int window_id,
36 int priority, bool visible,
37 int anchor_point, int relative_pos,
38 int anchor_vertical, int anchor_horizontal,
39 int row_count, int column_count,
40 int row_lock, int column_lock,
41 int pen_style, int window_style);
42 virtual void DeleteWindows( uint service_num, int window_map);
43 virtual void DisplayWindows(uint service_num, int window_map);
44 virtual void HideWindows( uint service_num, int window_map);
45 virtual void ClearWindows( uint service_num, int window_map);
46 virtual void ToggleWindows( uint service_num, int window_map);
47 virtual void SetWindowAttributes(uint service_num,
48 int fill_color, int fill_opacity,
49 int border_color, int border_type,
50 int scroll_dir, int print_dir,
51 int effect_dir,
52 int display_effect, int effect_speed,
53 int justify, int word_wrap);
54
55 // Pen settings
56 virtual void SetPenAttributes(uint service_num,
57 int pen_size, int offset,
58 int text_tag, int font_tag,
59 int edge_type,
60 int underline, int italics);
61 virtual void SetPenColor(uint service_num,
62 int fg_color, int fg_opacity,
63 int bg_color, int bg_opacity,
64 int edge_color);
65 virtual void SetPenLocation(uint service_num, int row, int column);
66
67 // Display State
68 virtual void Delay(uint service_num, int tenths_of_seconds);
69 virtual void DelayCancel(uint service_num);
70 virtual void Reset(uint service_num);
71
72 // Text
73 virtual void TextWrite(uint service_num,
74 std::u16string& unicode_string);
75
76 // Data
77 std::array<std::vector<uint8_t>,k708MaxServices> m_buf {};
78 std::array<bool,k708MaxServices> m_delayed {};
79
80 std::array<std::u16string,k708MaxServices> m_tempStr {};
81
83 std::array<CC708Service,k708MaxServices> m_cc708services;
84 std::array<int,k708MaxServices> m_cc708DelayedDeletes {};
85
86 bool m_enabled {false};
87};
88#endif // CC708READER_H
const uint k708MaxServices
Definition: cc708reader.h:13
void SetEnabled(bool enable)
Definition: cc708reader.h:23
virtual void Reset(uint service_num)
virtual void SetPenColor(uint service_num, int fg_color, int fg_opacity, int bg_color, int bg_opacity, int edge_color)
virtual ~CC708Reader()=default
CC708Window & GetCCWin(uint svc_num)
Definition: cc708reader.h:30
virtual void ClearWindows(uint service_num, int window_map)
bool m_enabled
Definition: cc708reader.h:86
virtual void DefineWindow(uint service_num, int window_id, int priority, bool visible, int anchor_point, int relative_pos, int anchor_vertical, int anchor_horizontal, int row_count, int column_count, int row_lock, int column_lock, int pen_style, int window_style)
Definition: cc708reader.cpp:40
CC708Window & GetCCWin(uint service_num, uint window_id)
Definition: cc708reader.h:28
void SetCurrentService(int service)
Definition: cc708reader.h:21
std::array< std::vector< uint8_t >, k708MaxServices > m_buf
Definition: cc708reader.h:77
virtual void Delay(uint service_num, int tenths_of_seconds)
std::array< CC708Service, k708MaxServices > m_cc708services
Definition: cc708reader.h:83
int m_currentService
Definition: cc708reader.h:82
std::array< std::u16string, k708MaxServices > m_tempStr
Definition: cc708reader.h:80
CC708Service * GetService(uint service_num)
Definition: cc708reader.h:26
std::array< int, k708MaxServices > m_cc708DelayedDeletes
Definition: cc708reader.h:84
virtual void TextWrite(uint service_num, std::u16string &unicode_string)
virtual void DeleteWindows(uint service_num, int window_map)
Definition: cc708reader.cpp:78
virtual void SetWindowAttributes(uint service_num, int fill_color, int fill_opacity, int border_color, int border_type, int scroll_dir, int print_dir, int effect_dir, int display_effect, int effect_speed, int justify, int word_wrap)
virtual void DisplayWindows(uint service_num, int window_map)
Definition: cc708reader.cpp:90
CC708Service * GetCurrentService(void)
Definition: cc708reader.h:22
virtual void SetPenAttributes(uint service_num, int pen_size, int offset, int text_tag, int font_tag, int edge_type, int underline, int italics)
void ClearBuffers(void)
Definition: cc708reader.cpp:26
virtual void ToggleWindows(uint service_num, int window_map)
virtual void HideWindows(uint service_num, int window_map)
virtual void SetCurrentWindow(uint service_num, int window_id)
Definition: cc708reader.cpp:32
virtual void DelayCancel(uint service_num)
virtual void SetPenLocation(uint service_num, int row, int column)
std::array< bool, k708MaxServices > m_delayed
Definition: cc708reader.h:78
unsigned int uint
Definition: compat.h:60