MediaX
v1.0.0rc7 [7e6cb74]
Video streaming for military vehicles
Loading...
Searching...
No Matches
display_manager_fb.h
1
//
2
// Copyright (c) 2025, Astute Systems PTY LTD
3
//
4
// This file is part of the VivoeX project developed by Astute Systems.
5
//
6
// Licensed under the Attribution-NonCommercial 4.0 International (CC BY-NC 4.0)
7
// License. See the LICENSE file in the project root for full license details.
8
//
10
11
#ifndef HARDWARE_DISPLAY_MANAGER_FB_H_
12
#define HARDWARE_DISPLAY_MANAGER_FB_H_
13
14
#include <errno.h>
15
#include <fcntl.h>
16
#include <linux/fb.h>
17
#include <stdio.h>
18
#include <stdlib.h>
19
#include <string.h>
20
#include <sys/ioctl.h>
21
#include <sys/mman.h>
22
#include <sys/stat.h>
23
#include <sys/types.h>
24
#include <unistd.h>
25
26
#include <string>
27
#include <vector>
28
29
#include "
common/datatypes.h
"
30
#include "
renderer/display_manager_base.h
"
31
32
namespace
mediax::fb {
33
35
class
DisplayManager
:
public
mediax::DisplayManagerBase
{
36
public
:
41
DisplayManager
() =
default
;
42
47
~DisplayManager
();
48
53
DisplayManager
(
const
DisplayManager
&) =
delete
;
54
60
DisplayManager
&
operator=
(
const
DisplayManager
&) =
delete
;
61
66
Status
Initalise
()
override
;
67
72
void
Run
()
override
{};
73
79
Resolution
GetResolution
()
override
;
80
86
int
GetBytesPerPixel
() final {
return
3; }
87
93
mediax::rtp::ColourspaceType
GetColourspace
() final {
return
mediax::rtp::ColourspaceType::kColourspaceRgb24; }
94
104
Status
DisplayBuffer
(uint8_t *frame_buffer,
Resolution
resolution, std::string text)
override
;
105
110
void
Flush
()
override
;
111
112
private
:
114
std::string
fb_name_
=
"/dev/fb0"
;
116
void
*
frame_buffer_
;
118
struct
fb_fix_screeninfo
fix_info_
;
120
struct
fb_var_screeninfo
var_info_
;
122
int32_t
frame_buffer_frame_device_
;
124
bool
initaliased_
=
false
;
125
};
126
127
}
// namespace mediax::fb
128
129
#endif
// HARDWARE_DISPLAY_MANAGER_FB_H_
mediax::DisplayManagerBase
The display manager class.
Definition
display_manager_base.h:35
mediax::fb::DisplayManager
The display manager class.
Definition
display_manager_fb.h:35
mediax::fb::DisplayManager::frame_buffer_
void * frame_buffer_
Frame buffer device.
Definition
display_manager_fb.h:116
mediax::fb::DisplayManager::Run
void Run() override
Run the main loop if these is one.
Definition
display_manager_fb.h:72
mediax::fb::DisplayManager::operator=
DisplayManager & operator=(const DisplayManager &)=delete
Delete the copy operator.
mediax::fb::DisplayManager::frame_buffer_frame_device_
int32_t frame_buffer_frame_device_
Frame buffer device handle.
Definition
display_manager_fb.h:122
mediax::fb::DisplayManager::GetBytesPerPixel
int GetBytesPerPixel() final
Get the Bits Per Pixel object.
Definition
display_manager_fb.h:86
mediax::fb::DisplayManager::GetResolution
Resolution GetResolution() override
Get the Resolution attribute.
Definition
display_manager_fb.cc:78
mediax::fb::DisplayManager::fb_name_
std::string fb_name_
Frame buffer device name.
Definition
display_manager_fb.h:114
mediax::fb::DisplayManager::fix_info_
struct fb_fix_screeninfo fix_info_
Frame buffer device.
Definition
display_manager_fb.h:118
mediax::fb::DisplayManager::DisplayBuffer
Status DisplayBuffer(uint8_t *frame_buffer, Resolution resolution, std::string text) override
Buffer must be in the format RGBA.
Definition
display_manager_fb.cc:90
mediax::fb::DisplayManager::DisplayManager
DisplayManager()=default
Construct a new Display Manager object.
mediax::fb::DisplayManager::GetColourspace
mediax::rtp::ColourspaceType GetColourspace() final
Get the Colourspace object.
Definition
display_manager_fb.h:93
mediax::fb::DisplayManager::DisplayManager
DisplayManager(const DisplayManager &)=delete
Construct a new Display Manager object (deleted)
mediax::fb::DisplayManager::Flush
void Flush() override
Flush the framebuffer /dev/fb0.
Definition
display_manager_fb.cc:73
mediax::fb::DisplayManager::~DisplayManager
~DisplayManager()
Destroy the Display Manager object.
Definition
display_manager_fb.cc:65
mediax::fb::DisplayManager::var_info_
struct fb_var_screeninfo var_info_
Frame buffer info.
Definition
display_manager_fb.h:120
mediax::fb::DisplayManager::initaliased_
bool initaliased_
Initalized flag.
Definition
display_manager_fb.h:124
mediax::fb::DisplayManager::Initalise
Status Initalise() override
Initalise the display manager.
Definition
display_manager_fb.cc:20
datatypes.h
display_manager_base.h
mediax::rtp::ColourspaceType
ColourspaceType
Supported colour spaces.
Definition
rtp_types.h:102
mediax::Status
Status
Enum of status.
Definition
datatypes.h:21
mediax::Resolution
The video resolution structure.
Definition
datatypes.h:34
src
renderer
display_manager_fb.h
Generated by
1.9.8