GCC Code Coverage Report


Directory: ./
File: channeloutput/X11PanelMatrix.h
Date: 2026-10-29 08:11:58
Exec Total Coverage
Lines: 2 2 100.0%
Functions: 1 1 100.0%
Branches: 1 2 50.0%

Line Branch Exec Source
1 #pragma once
2 /*
3 * This file is part of the Falcon Player (FPP) and is Copyright (C)
4 * 2013-2022 by the Falcon Player Developers.
5 *
6 * The Falcon Player (FPP) is free software, and is covered under
7 * multiple Open Source licenses. Please see the included 'LICENSES'
8 * file for descriptions of what files are covered by each license.
9 *
10 * This source file is covered under the GPL v2 as described in the
11 * included LICENSE.GPL file.
12 */
13
14 #include <X11/Xlib.h>
15 #include "fpp-json-fwd.h"
16
17 #include <string>
18
19 #include "Matrix.h"
20 #include "PanelMatrix.h"
21
22 #include "ThreadedChannelOutput.h"
23
24 class X11PanelMatrixOutput : public ThreadedChannelOutput {
25 public:
26 X11PanelMatrixOutput(unsigned int startChannel, unsigned int channelCount);
27 virtual ~X11PanelMatrixOutput();
28
29 3 virtual std::string GetOutputType() const {
30
1/2
✓ Branch 0 taken 3 times.
✗ Branch 1 not taken.
6 return "X11PanelMatrix";
31 }
32
33 virtual int Init(Json::Value config) override;
34 virtual int Close(void) override;
35
36 virtual void PrepData(unsigned char* channelData) override;
37 virtual int RawSendData(unsigned char* channelData) override;
38
39 virtual void DumpConfig(void) override;
40
41 virtual void GetRequiredChannelRanges(const std::function<void(int, int)>& addRange) override;
42
43 private:
44 std::string m_layout;
45 std::string m_colorOrder;
46
47 int m_panelWidth;
48 int m_panelHeight;
49 int m_panels;
50 int m_width;
51 int m_height;
52 int m_rows;
53 int m_outputs;
54 int m_longestChain;
55 int m_invertedData;
56
57 Matrix* m_matrix = nullptr;
58 PanelMatrix* m_panelMatrix = nullptr;
59
60 uint8_t m_gammaCurve[256];
61
62 int m_scale;
63 int m_scaleWidth;
64 int m_scaleHeight;
65
66 char* m_imageData;
67
68 Display* m_display;
69 int m_screen;
70 Window m_window;
71 GC m_gc;
72 Pixmap m_pixmap;
73 XImage* m_image;
74
75 std::string m_title;
76 };
77