TAMSVIZ
Visualization and annotation tool for ROS
Main Page
Classes
Files
File List
src
gui
renderwindow.h
1
// TAMSVIZ
2
// (c) 2020 Philipp Ruppel
3
4
#pragma once
5
6
#include "renderthread.h"
7
#include "splitwindow.h"
8
9
#include "../render/rendertarget.h"
10
11
class
UniformBufferBase
;
12
class
RenderList
;
13
class
Renderer
;
14
class
CameraBlock
;
15
class
Framebuffer
;
16
class
Texture
;
17
18
struct
RenderWindowSyncContext
{};
19
20
struct
RenderWindowAsyncContext
{
21
RenderList
*render_list =
nullptr
;
22
Renderer
*renderer =
nullptr
;
23
};
24
25
class
RenderWindowBase
:
public
ContentWindowBase
{
26
27
protected
:
28
int
_width = 1, _height = 1;
29
30
protected
:
31
RenderWindowBase
();
32
~
RenderWindowBase
();
33
34
public
:
35
virtual
void
composite(
int
target) {}
36
virtual
void
renderWindowSync(
const
RenderWindowSyncContext
&context);
37
virtual
void
renderWindowAsync(
const
RenderWindowAsyncContext
&context);
38
virtual
void
handleEvent(QEvent *event) {}
39
int
renderWidth()
const
{
return
_width; }
40
int
renderHeight()
const
{
return
_height; }
41
void
present();
42
virtual
void
paintHUD(QPainter *painter) {}
43
};
44
DECLARE_TYPE(
RenderWindowBase
,
ContentWindowBase
);
Renderer
Definition:
renderer.h:12
Texture
Definition:
texture.h:39
ContentWindowBase
Definition:
splitwindow.h:25
RenderWindowBase
Definition:
renderwindow.h:25
Framebuffer
Definition:
framebuffer.h:12
UniformBufferBase
Definition:
uniformbuffer.h:14
RenderWindowSyncContext
Definition:
renderwindow.h:18
RenderWindowAsyncContext
Definition:
renderwindow.h:20
RenderList
Definition:
renderlist.h:90
CameraBlock
Definition:
renderlist.h:15
Generated by
1.8.11