HALSDL2
platform/hal/simulator/sdl2/HALSDL2.hpp
HAL implementation for the TouchGFX simulator. This particular simulator HAL implementation uses SDL2 to show the content of the framebuffer in a window.
See: HAL
Inherits from: HAL
Public Functions
virtual void | copyScreenshotToClipboard() |
Copies the screenshot to clipboard. | |
bool | doSampleTouch(int32_t & x, int32_t & y) const |
Samples the position of the mouse cursor. | |
virtual void | flushFrameBuffer() |
This function is called whenever the framework has performed a complete draw. | |
virtual void | flushFrameBuffer(const Rect & rect) |
This function is called whenever the framework has performed a partial draw. | |
bool | getConsoleVisible() const |
Is console window visible? | |
FILE * | getPrintFile() const |
Get file handle to output file (if set). | |
bool | getWindowVisible() const |
Is the window visible? | |
HALSDL2(DMA_Interface & dma, LCD & lcd, TouchController & touchCtrl, uint16_t width, uint16_t height) | |
Initializes a new instance of the HALSDL2 class. | |
void | loadSkin(DisplayOrientation orientation, int x, int y) |
Loads a skin for a given display orientation that will be rendered in the simulator window with the the TouchGFX framebuffer placed inside the bitmap at the given coordinates. | |
char * | localFileName(char buffer, size_t buffer_size, const char filename) |
Generate name of file placed next to the simulator. | |
bool | printToFile(const char * filename) |
Also write touchgfx_printf() to a file. | |
virtual bool | sampleKey(uint8_t & key) |
Sample key event from keyboard. | |
virtual void | saveNextScreenshots(int n) |
Copy the next N screenshots to disk. | |
void | saveScreenshot() |
Saves a screenshot to the default folder and default filename. | |
virtual void | saveScreenshot(char folder, char filename) |
Saves a screenshot. | |
virtual bool | sdl_init(int argcount, char ** args) |
Initializes SDL. | |
void | setConsoleVisible(bool visible, bool redrawWindow =true) |
Change visibility of console window (hidden vs. | |
virtual void | setFlashInvalidatedAreas(bool flash =true) |
Flash invalidated areas on/off. | |
virtual void | setFrameBufferSize(uint16_t width, uint16_t height) |
Sets framebuffer size. | |
void | setVsyncInterval(float ms) |
Sets vsync interval for simulating same tick speed as the real hardware. | |
void | setWindowVisible(bool visible, bool redrawWindow =true) |
Change visibility of window (hidden vs. | |
virtual void | taskEntry() |
Main event loop. | |
uint8_t * | doRotate(uint8_t * src) |
Rotates a framebuffer if the display is rotated. | |
char ** | getArgv(int * argc) |
Gets the argc and argv for a Windows program. | |
const char * | getWindowTitle() |
Gets window title. | |
bool | isSingleStepping() |
Is single stepping. | |
uint8_t * | scaleTo24bpp(uint16_t * src, Bitmap::BitmapFormat format) |
Scale framebuffer to 24bpp. | |
void | setSingleStepping(bool singleStepping =true) |
Single stepping enable/disable. | |
void | setWindowTitle(const char * title) |
Sets window title. | |
void | singleStep(uint16_t steps =1) |
Single step a number of steps. | |
void | stopApplication() |
Terminate the application as quickly as possible. | |
Protected Functions
virtual void | configureInterrupts() |
Configures the interrupts relevant for TouchGFX. | |
virtual void | configureLCDInterrupt() |
Configures LCD interrupt. | |
virtual void | disableInterrupts() |
Disables the DMA and LCD interrupts. | |
virtual void | enableInterrupts() |
Enables the DMA and LCD interrupts. | |
virtual void | enableLCDControllerInterrupt() |
Enables the LCD interrupt. | |
virtual uint16_t * | getTFTFrameBuffer() const |
Gets TFT framebuffer. | |
virtual void | performDisplayOrientationChange() |
Perform the actual display orientation change. | |
virtual void | renderLCD_FrameBufferToMemory(const Rect & _rectToUpdate, uint8_t * frameBuffer) |
Update framebuffer using an SDL Surface. | |
virtual void | setTFTFrameBuffer(uint16_t * addr) |
Sets TFT framebuffer. | |
Additional inherited members
Public Types inherited from HAL
enum | FrameRefreshStrategy { REFRESH_STRATEGY_DEFAULT, REFRESH_STRATEGY_OPTIM_SINGLE_BUFFER_TFT_CTRL, REFRESH_STRATEGY_PARTIAL_FRAMEBUFFER } |
A list of available frame refresh strategies. | |
enum | RenderingMethod { SOFTWARE, HARDWARE } |
A list of rendering methods. | |
Public Functions inherited from HAL
virtual void | allowDMATransfers() |
Allow the DMA to start transfers. | |
virtual void | backPorchExited() |
Has to be called from within the LCD IRQ rutine when the Back Porch Exit is reached. | |
virtual void | blitCopy(const uint16_t pSrc, const uint8_t pClut, uint16_t x, uint16_t y, uint16_t width, uint16_t height, uint16_t srcWidth, uint8_t alpha, bool hasTransparentPixels, uint16_t dstWidth, Bitmap::BitmapFormat srcFormat, Bitmap::BitmapFormat dstFormat, bool replaceBgAlpha) |
Blits a 2D source-array to the framebuffer performing alpha-blending as specified. | |
virtual void | blitCopy(const uint16_t * pSrc, uint16_t x, uint16_t y, uint16_t width, uint16_t height, uint16_t srcWidth, uint8_t alpha, bool hasTransparentPixels, bool replaceBgAlpha) |
Blits a 2D source-array to the framebuffer performing alpha-blending as specified using the default lcd format. | |
virtual void | blitCopy(const uint16_t * pSrc, uint16_t x, uint16_t y, uint16_t width, uint16_t height, uint16_t srcWidth, uint8_t alpha, bool hasTransparentPixels, uint16_t dstWidth, Bitmap::BitmapFormat srcFormat, Bitmap::BitmapFormat dstFormat, bool replaceBgAlpha) |
Blits a 2D source-array to the framebuffer performing alpha-blending as specified. | |
virtual void | blitCopyARGB8888(const uint16_t * pSrc, uint16_t x, uint16_t y, uint16_t width, uint16_t height, uint16_t srcWidth, uint8_t alpha, bool replaceBgAlpha) |
Blits a 2D source-array to the framebuffer performing per-pixel alpha blending. | |
virtual void | blitCopyGlyph(const uint8_t * pSrc, uint16_t x, uint16_t y, uint16_t width, uint16_t height, uint16_t srcWidth, colortype color, uint8_t alpha, BlitOperations operation, bool replaceBgAlpha) |
Blits a 4bpp or 8bpp glyph - maybe use the same method and supply additional color mode arg. | |
virtual void | blitCopyWord(const uint16_t * pSrc, uint16_t x, uint16_t y, uint16_t width, uint16_t height, uint16_t srcWidth, uint16_t dstWidth) |
Blits a 2D source-array to the framebuffer using 16-bit copy without conversion. | |
virtual void | blitFill(colortype color, uint16_t x, uint16_t y, uint16_t width, uint16_t height, uint8_t alpha, bool replaceBgAlpha) |
Blits a color value to the framebuffer performing alpha-blending as specified. | |
virtual void | blitFill(colortype color, uint16_t x, uint16_t y, uint16_t width, uint16_t height, uint8_t alpha, uint16_t dstWidth, Bitmap::BitmapFormat dstFormat, bool replaceBgAlpha) |
Blits a color value to the framebuffer performing alpha-blending as specified. | |
virtual void | blitFillWord(uint16_t colorValue, uint16_t x, uint16_t y, uint16_t width, uint16_t height, uint16_t dstWidth) |
Fills a part of the framebuffer using 16-bit fill without conversion. | |
virtual bool | blockCopy(void RESTRICT dest, const void RESTRICT src, uint32_t numBytes) |
This function performs a platform-specific memcpy, if supported by the hardware. | |
virtual uint16_t | configurePartialFrameBuffer(const uint16_t x, const uint16_t y, const uint16_t width, const uint16_t height) |
Configures a partial framebuffer as current framebuffer. | |
virtual uint16_t * | copyFBRegionToMemory(Rect meAbs) |
Copies a region of the currently displayed framebuffer to memory. | |
virtual uint16_t * | copyFBRegionToMemory(Rect meAbs, uint16_t * dst, uint32_t stride) |
Copies a region of the currently displayed framebuffer to a buffer. | |
virtual uint16_t * | copyFromTFTToClientBuffer(Rect region) |
Copies a region of the currently displayed framebuffer to memory. | |
virtual void | drawDrawableInDynamicBitmap(Drawable & drawable, BitmapId bitmapId) |
Render a Drawable and its widgets into a dynamic bitmap. | |
virtual void | drawDrawableInDynamicBitmap(Drawable & drawable, BitmapId bitmapId, const Rect & rect) |
Render a Drawable and its widgets into a dynamic bitmap. | |
void | enableDMAAcceleration(const bool enable) |
Sets a flag to allow use of DMA operations to speed up drawing operations. | |
void | enableMCULoadCalculation(bool enabled) |
This method sets a flag that determines if generic HAL should calculate MCU load based on concrete MCU instrumentation. | |
virtual void | flushDMA() |
This function blocks until the DMA queue (containing BlitOps) is empty. | |
void | frontPorchEntered() |
Has to be called from within the LCD IRQ routine when the Front Porch Entry is reached. | |
uint16_t * | getAnimationStorage() const |
Gets the optional framebuffer used for animation storage. | |
LCD * | getAuxiliaryLCD() |
Get the auxiliary LCD class attached to the HAL instance if any. | |
virtual BlitOperations | getBlitCaps() |
Function for obtaining the blit capabilities of the concrete HAL implementation. | |
ButtonController * | getButtonController() const |
Gets the associated ButtonController. | |
uint32_t | getCPUCycles() |
Gets the current cycle counter. | |
uint16_t | getDisplayHeight() const |
Gets display height. | |
DisplayOrientation | getDisplayOrientation() const |
Gets the current display orientation. | |
uint16_t | getDisplayWidth() const |
Gets display width. | |
virtual DMAType | getDMAType() |
Function for obtaining the DMA type of the concrete DMA implementation. | |
uint8_t | getFingerSize() const |
Gets the finger size in pixels. | |
virtual FlashDataReader * | getFlashDataReader() const |
Gets the flash data reader. | |
FrameBufferAllocator * | getFrameBufferAllocator() |
Gets the framebuffer allocator. | |
FrameRefreshStrategy | getFrameRefreshStrategy() const |
Used internally by TouchGFX core to manage the timing and process of drawing into the framebuffer. | |
Gestures * | getGestures() |
Get the Gesture class attached to the HAL instance. | |
uint32_t | getLCDRefreshCount() |
Returns the number of VSync interrupts between the current drawing operation and the last drawing operation, i.e. | |
uint8_t | getMCULoadPct() const |
Gets the current MCU load. | |
virtual uint16_t | getTFTCurrentLine() |
Get the current line (Y) of the TFT controller. | |
int8_t | getTouchSampleRate() const |
Gets the number of ticks between each touch screen sample. | |
HAL(DMA_Interface & dmaInterface, LCD & display, TouchController & touchCtrl, uint16_t width, uint16_t height) | |
Initializes a new instance of the HAL class. | |
virtual void | initialize() |
This function initializes the HAL, DMA, TouchController, and interrupts. | |
void | lockDMAToFrontPorch(bool enableLock) |
Function to set whether the DMA transfers are locked to the TFT update cycle. | |
virtual uint16_t * | lockFrameBuffer() |
Waits for the framebuffer to become available for use (i.e. | |
uint16_t * | lockFrameBufferForRenderingMethod(RenderingMethod method) |
Locks the framebuffer and sets rendering method for correct cache management. | |
virtual void | registerEventListener(UIEventListener & listener) |
Registers an event handler implementation with the underlying event system. | |
void | registerTaskDelayFunction(void(*)(uint16_t) delayF) |
Registers a function capable of delaying GUI task execution. | |
virtual void | setAnimationStorage(void * animationStorage) |
Sets animation storage address. | |
void | setAuxiliaryLCD(LCD * auxLCD) |
Set an auxiliary LCD class to be used for offscreen rendering. | |
void | setButtonController(ButtonController * btnCtrl) |
Stores a pointer to an instance of a specific implementation of a ButtonController. | |
virtual void | setDisplayOrientation(DisplayOrientation orientation) |
Sets the desired display orientation (landscape or portrait). | |
void | setDragThreshold(uint8_t value) |
Configure the threshold for reporting drag events. | |
void | setFingerSize(uint8_t size) |
Sets the finger size in pixels. | |
void | setFrameBufferAllocator(FrameBufferAllocator * allocator) |
Sets a framebuffer allocator. | |
virtual void | setFrameBufferStartAddresses(void frameBuffer, void doubleBuffer, void * animationStorage) |
Sets framebuffer start addresses. | |
void | setFrameRateCompensation(bool enabled) |
Enables or disables compensation for lost frames. | |
bool | setFrameRefreshStrategy(FrameRefreshStrategy s) |
Set a specific strategy for handling timing and mechanism of framebuffer drawing. | |
void | setMCUActive(bool active) |
Register if MCU is active by measuring cpu cycles. | |
void | setMCUInstrumentation(MCUInstrumentation * mcuInstr) |
Stores a pointer to an instance of an MCU specific instrumentation class. | |
void | setRenderingMethod(RenderingMethod method) |
Set current rendering method for cache maintenance. | |
void | setTouchSampleRate(int8_t sampleRateInTicks) |
Sets the number of ticks between each touch screen sample. | |
void | signalDMAInterrupt() |
Notify the framework that a DMA interrupt has occurred. | |
void | swapFrameBuffers() |
Swaps the two framebuffers. | |
virtual void | taskDelay(uint16_t ms) |
Delay GUI task execution by number of milliseconds. | |
virtual void | unlockFrameBuffer() |
Unlocks the framebuffer (MUST be called exactly once for each call to lockFrameBuffer()). | |
void | vSync() |
Called by the VSync interrupt. | |
virtual | ~HAL() |
Finalizes an instance of the HAL class. | |
HAL * | getInstance() |
Gets the HAL instance. | |
LCD & | lcd() |
Gets a reference to the LCD. | |
Protected Functions inherited from HAL
virtual bool | beginFrame() |
Called when beginning to rendering a frame. | |
virtual void | endFrame() |
Called when a rendering pass is completed. | |
virtual void | FlushCache() |
Flush D-Cache. | |
uint16_t * | getClientFrameBuffer() |
Gets client framebuffer. | |
virtual void | InvalidateCache() |
Invalidate D-Cache. | |
virtual void | noTouch() |
Called by the touch driver to indicate that no touch is currently detected. | |
virtual void | tick() |
This function is called at each timer tick, depending on platform implementation. | |
virtual void | touch(int32_t x, int32_t y) |
Called by the touch driver to indicate a touch. | |
Public Attributes inherited from HAL
uint16_t | DISPLAY_HEIGHT |
The height of the LCD display in pixels. | |
DisplayRotation | DISPLAY_ROTATION |
The rotation from display to framebuffer. | |
uint16_t | DISPLAY_WIDTH |
The width of the LCD display in pixels. | |
uint16_t | FRAME_BUFFER_HEIGHT |
The height of the framebuffer in pixels. | |
uint16_t | FRAME_BUFFER_WIDTH |
The width of the framebuffer in pixels. | |
bool | USE_ANIMATION_STORAGE |
Is animation storage enabled? | |
bool | USE_DOUBLE_BUFFERING |
Is double buffering enabled? | |
Protected Attributes inherited from HAL
LCD * | auxiliaryLCD |
Auxiliary LCD class used to render Drawables into dynamic bitmaps. | |
ButtonController * | buttonController |
A reference to an optional ButtonController. | |
DMA_Interface & | dma |
A reference to the DMA interface. | |
uint8_t | fingerSize |
The radius of the finger in pixels. | |
uint16_t * | frameBuffer0 |
Pointer to the first framebuffer. | |
uint16_t * | frameBuffer1 |
Pointer to the second framebuffer. | |
uint16_t * | frameBuffer2 |
Pointer to the optional third framebuffer used for animation storage. | |
FrameBufferAllocator * | frameBufferAllocator |
A reference to an optional FrameBufferAllocator. | |
bool | frameBufferUpdatedThisFrame |
True if something was drawn in the current frame. | |
Gestures | gestures |
Class for low-level interpretation of touch events. | |
LCD & | lcdRef |
A reference to the LCD. | |
bool | lockDMAToPorch |
Whether or not to lock DMA transfers with TFT porch signal. | |
MCUInstrumentation * | mcuInstrumentation |
A reference to an optional MCU instrumentation. | |
DisplayOrientation | nativeDisplayOrientation |
Contains the native display orientation. If desired orientation is different, apply rotation. | |
Rect | partialFrameBufferRect |
The region of the screen covered by the partial framebuffer. | |
FrameRefreshStrategy | refreshStrategy |
The selected display refresh strategy. | |
void(* | taskDelayFunc |
Pointer to a function that can delay GUI task for a number of milliseconds. | |
TouchController & | touchController |
A reference to the touch controller. | |
bool | isDrawing |
True if currently in the process of rendering a screen. | |
Public Functions Documentation
copyScreenshotToClipboard
virtual void copyScreenshotToClipboard | ( | ) |
Copies the screenshot to clipboard.
doSampleTouch
bool doSampleTouch | ( | int32_t & | x , | const | |
int32_t & | y | const | |||
) | const |
Samples the position of the mouse cursor.
x | The x coordinate. |
y | The y coordinate. |
True if touch detected, false otherwise.
flushFrameBuffer
virtual void flushFrameBuffer | ( | ) |
This function is called whenever the framework has performed a complete draw.
On some platforms, a local framebuffer needs to be pushed to the display through a SPI channel or similar. Implement that functionality here. This function is called whenever the framework has performed a complete draw.
Reimplements: touchgfx::HAL::flushFrameBuffer
flushFrameBuffer
virtual void flushFrameBuffer | ( | const Rect & | rect | ) | |
This function is called whenever the framework has performed a partial draw.
rect | The area of the screen that has been drawn, expressed in absolute coordinates. |
Reimplements: touchgfx::HAL::flushFrameBuffer
getConsoleVisible
bool getConsoleVisible | ( | ) | const |
Is console window visible?
True if it is visible, false if it is hidden.
getPrintFile
FILE * getPrintFile | ( | ) | const |
Get file handle to output file (if set).
A file handle to the file where output is copied to.
getWindowVisible
bool getWindowVisible | ( | ) | const |
Is the window visible?
True if it is visible, false if it is hidden.
HALSDL2
HALSDL2 | ( | DMA_Interface & | dma , | ||
LCD & | lcd , | ||||
TouchController & | touchCtrl , | ||||
uint16_t | width , | ||||
uint16_t | height | ||||
) |
loadSkin
void loadSkin | ( | DisplayOrientation | orientation , | ||
int | x , | ||||
int | y | ||||
) |
Loads a skin for a given display orientation that will be rendered in the simulator window with the the TouchGFX framebuffer placed inside the bitmap at the given coordinates.
Different bitmaps can be loaded in landscape and portrait mode. If the provided bitmap cannot be loaded, the TouchGFX framebuffer will be displayed as normal. If the png files contain areas with alpha < 255, this will be used to create a shaped window.
orientation | The orientation. |
x | The x coordinate. |
y | The y coordinate. |
Note
The skins must be named "portrait.png" and "landscape.png" and placed inside the "simulator/" folder. The build process of the simulator will automatically copy the skins to the folder where the executable simulator is generated. When as skin is set, the entire framebuffer is rendered through SDL whenever there is a change. Without a skin, only the areas with changes is rendered through SDL.
localFileName
char * localFileName | ( | char * | buffer , | ||
size_t | buffer_size , | ||||
const char * | filename | ||||
) |
Generate name of file placed next to the simulator.
buffer | If the buffer to fill with the local filename. Must be at least 300+length of filename parameter. |
buffer_size | The size of the buffer in bytes. |
filename | The filename relative to the simulator executable. |
The filled buffer.
printToFile
bool printToFile | ( | const char * | filename | ) | |
Also write touchgfx_printf() to a file.
The file will be generated (no appended to).
filename | The name of the file to write to (or null to stop writing to a file). |
True if the operation succeeds, false otherwise.
sampleKey
virtual bool sampleKey | ( | uint8_t & | key | ) | |
Sample key event from keyboard.
key | Output parameter that will be set to the key value if a key press was detected. |
True if a key press was detected and the "key" parameter is set to a value.
Reimplements: touchgfx::HAL::sampleKey
saveNextScreenshots
virtual void saveNextScreenshots | ( | int | n | ) | |
Copy the next N screenshots to disk.
On each screen update, the new screen is saved to disk.
n | Number of screenshots to save. These are added to any ongoing amount of screenshots in queue. |
saveScreenshot
void saveScreenshot | ( | ) |
Saves a screenshot to the default folder and default filename.
saveScreenshot
virtual void saveScreenshot | ( | char * | folder , | ||
char * | filename | ||||
) |
Saves a screenshot.
folder | Folder name to place the screenshot in. |
filename | Filename to save the screenshot to. |
sdl_init
virtual bool sdl_init | ( | int | argcount , | ||
char ** | args | ||||
) |
Initializes SDL.
argcount | Number of arguments. |
args | Arguments. |
True if init went well, false otherwise.
setConsoleVisible
void setConsoleVisible | ( | bool | visible , | ||
bool | redrawWindow =true | ||||
) |
Change visibility of console window (hidden vs.
shown).
visible | Should the window be visible? |
redrawWindow | (Optional) Should the window be redrawn? Default is true. |
setFlashInvalidatedAreas
virtual void setFlashInvalidatedAreas | ( | bool | flash =true | ) | |
Flash invalidated areas on/off.
The area that needs to be redrawn is flashed in grey to help identify performance bottle necks.
flash | (Optional) True to flash the screen when updating. |
setFrameBufferSize
virtual void setFrameBufferSize | ( | uint16_t | width , | ||
uint16_t | height | ||||
) |
Sets framebuffer size.
By default the display size and the framebuffer size are the same, but in some hardware configurations, the hardware may have a width of e.g. 832 pixels even though the display is only 800 pixels wide. First set the display width and height using touchgfx_generic_init() and the update the framebuffer size using setFrameBufferSize().
width | The width of the framebuffer. |
height | The height of the framebuffer. |
Reimplements: touchgfx::HAL::setFrameBufferSize
setVsyncInterval
void setVsyncInterval | ( | float | ms | ) | |
Sets vsync interval for simulating same tick speed as the real hardware.
Due to limitations in the granularity of SDL, the generated ticks in the simulator might not occur at the exact time, but accumulated over several ticks, the precision is very good.
ms | The milliseconds between ticks. |
Note
That you can also use HAL::setFrameRateCompensation() in the simulator. The effect of this can easily be demonstrated by dragging the console output window of the simulator (when running from Visual Studio) as this will pause the SDL and generate a lot of ticks when the console window is released. Beware that since the missed vsyncs are accumulated in an 8 bit counter, only up to 255 ticks may be missed, so at VsyncInterval = 16.6667, dragging the windows for more than 255 * 16.6667ms = 4250ms = 4.25s will not generate all the ticks that were actually missed. This situation is, however, not very realistic, as normally just a couple of vsyncs are skipped.
setWindowVisible
void setWindowVisible | ( | bool | visible , | ||
bool | redrawWindow =true | ||||
) |
Change visibility of window (hidden vs.
shown) as well as (due to backward compatibility) the visibility of the console window.
visible | Should the window be visible? |
redrawWindow | (Optional) Should the window be redrawn? Default is true. |
taskEntry
virtual void taskEntry | ( | ) |
Main event loop.
Will wait for VSYNC signal, and then process next frame. Call this function from your GUI task.
Note
This function never returns!
Reimplements: touchgfx::HAL::taskEntry
doRotate
static uint8_t * doRotate | ( | uint8_t * | src | ) | |
Rotates a framebuffer if the display is rotated.
src | The framebuffer. |
Null if it fails, else a pointer to an uint8_t.
getArgv
static char ** getArgv | ( | int * | argc | ) | |
Gets the argc and argv for a Windows program.
argc | Pointer to where to store number of arguments. |
The argv list of arguments.
getWindowTitle
static const char * getWindowTitle | ( | ) |
Gets window title.
null "TouchGFX simulator" unless set to something else using setWindowTitle().
isSingleStepping
static bool isSingleStepping | ( | ) |
scaleTo24bpp
static uint8_t * scaleTo24bpp | ( | uint16_t * | src , | ||
Bitmap::BitmapFormat | format | ||||
) |
Scale framebuffer to 24bpp.
The format of the framebuffer (src) is given in parameter format. The result is placed in the pre-allocated memory pointed to by parameter dst. If the framebuffer is in format Bitmap::RGB888, parameter dst is not used and the parameter src is simply returned.
src | The framebuffer. |
format | Describes the format of the framebuffer (lcd().framebufferFormat()). |
Null if it fails, else a pointer to an uint8_t.
setSingleStepping
static void setSingleStepping | ( | bool | singleStepping =true | ) | |
Single stepping enable/disable.
When single stepping is enabled, F10 will execute one tick and F9 will disable single stepping.
singleStepping | (Optional) True to pause the simulation and start single stepping. |
setWindowTitle
static void setWindowTitle | ( | const char * | title | ) | |
Sets window title.
Sets window title of the TouchGFX simulator.
title | The title, if null the original "TouchGFX simulator" will be used. |
singleStep
static void singleStep | ( | uint16_t | steps =1 | ) | |
Single step a number of steps.
Only works if single stepping is already enabled.
steps | (Optional) The steps Default is 1 step. |
stopApplication
static void stopApplication | ( | ) |
Terminate the application as quickly as possible.
Protected Functions Documentation
configureInterrupts
virtual void configureInterrupts | ( | ) |
Configures the interrupts relevant for TouchGFX.
This primarily entails setting the interrupt priorities for the DMA and LCD interrupts.
Reimplements: touchgfx::HAL::configureInterrupts
configureLCDInterrupt
virtual void configureLCDInterrupt | ( | ) |
Configures LCD interrupt.
disableInterrupts
virtual void disableInterrupts | ( | ) |
Disables the DMA and LCD interrupts.
Reimplements: touchgfx::HAL::disableInterrupts
enableInterrupts
virtual void enableInterrupts | ( | ) |
Enables the DMA and LCD interrupts.
Reimplements: touchgfx::HAL::enableInterrupts
enableLCDControllerInterrupt
virtual void enableLCDControllerInterrupt | ( | ) |
Enables the LCD interrupt.
Reimplements: touchgfx::HAL::enableLCDControllerInterrupt
getTFTFrameBuffer
virtual uint16_t * getTFTFrameBuffer | ( | ) | const |
Gets TFT framebuffer.
null if it fails, else the TFT framebuffer.
Reimplements: touchgfx::HAL::getTFTFrameBuffer
performDisplayOrientationChange
virtual void performDisplayOrientationChange | ( | ) |
Perform the actual display orientation change.
Reimplements: touchgfx::HAL::performDisplayOrientationChange
renderLCD_FrameBufferToMemory
virtual void renderLCD_FrameBufferToMemory | ( | const Rect & | _rectToUpdate , | ||
uint8_t * | frameBuffer | ||||
) |
Update framebuffer using an SDL Surface.
_rectToUpdate | Area to update. |
frameBuffer | Target framebuffer. |
setTFTFrameBuffer
virtual void setTFTFrameBuffer | ( | uint16_t * | addr | ) | |
Sets TFT framebuffer.
addr | The address of the TFT framebuffer. |
Reimplements: touchgfx::HAL::setTFTFrameBuffer