41#include "freertos/FreeRTOS.h"
42#include "freertos/queue.h"
46#include "devdrivers/cvbsgenerator.h"
54class CVBSBaseController :
public GenericBitmappedDisplayController {
61 CVBSBaseController(CVBSBaseController
const&) =
delete;
62 void operator=(CVBSBaseController
const&) =
delete;
64 void begin(gpio_num_t videoGPIO);
71 virtual void suspendBackgroundPrimitiveExecution();
74 virtual void resumeBackgroundPrimitiveExecution();
76 void setResolution(
char const * modeline,
int viewPortWidth = -1,
int viewPortHeight = -1,
bool doubleBuffered =
false);
78 void setHorizontalRate(
int value) { m_horizontalRate = value; }
79 int horizontalRate() {
return m_horizontalRate; }
81 virtual void setResolution(CVBSParams
const * params,
int viewPortWidth = -1,
int viewPortHeight = -1,
bool doubleBuffered =
false);
83 uint8_t * getScanline(
int y) {
return (uint8_t*) m_viewPort[y]; }
85 CVBSParams
const * params() {
return m_CVBSGenerator.params(); }
90 void setDrawScanlineCallback(CVBSDrawScanlineCallback drawScanlineCallback) { m_CVBSGenerator.setDrawScanlineCallback(drawScanlineCallback,
this); }
92 virtual void freeViewPort();
96 void allocateViewPort(uint32_t allocCaps,
int rowlen);
97 virtual void allocateViewPort() = 0;
98 virtual void checkViewPortSize() { };
101 virtual void swapBuffers();
108 volatile uint8_t * * m_viewPort;
109 volatile uint8_t * * m_viewPortVisible;
111 volatile int m_primitiveProcessingSuspended;
116 CVBSGenerator m_CVBSGenerator;
118 int m_horizontalRate;
120 uint8_t * * m_viewPortMemoryPool;
This file contains fabgl::BitmappedDisplayController definition.
This file contains FabGL library configuration settings, like number of supported colors,...
This file contains some utility classes and functions.