Migrate to TouchGFX 4.22.0
This commit is contained in:
parent
61729b302c
commit
90b55ffa1c
4
.gitignore
vendored
4
.gitignore
vendored
@ -4,3 +4,7 @@
|
|||||||
.clangd
|
.clangd
|
||||||
compile_commands.json
|
compile_commands.json
|
||||||
TouchGFX/build
|
TouchGFX/build
|
||||||
|
/Middlewares/ST/touchgfx_backup/
|
||||||
|
/TouchGFX/screenshots
|
||||||
|
/TouchGFX/*_backup.touchgfx
|
||||||
|
/steering-wheel.ioc_bkp
|
||||||
|
@ -21,12 +21,12 @@
|
|||||||
/* Includes ------------------------------------------------------------------*/
|
/* Includes ------------------------------------------------------------------*/
|
||||||
|
|
||||||
#include "app_azure_rtos.h"
|
#include "app_azure_rtos.h"
|
||||||
#include "leds.h"
|
|
||||||
#include "stm32h7xx.h"
|
#include "stm32h7xx.h"
|
||||||
|
|
||||||
/* Private includes ----------------------------------------------------------*/
|
/* Private includes ----------------------------------------------------------*/
|
||||||
/* USER CODE BEGIN Includes */
|
/* USER CODE BEGIN Includes */
|
||||||
#include "app.h"
|
#include "app.h"
|
||||||
|
#include "leds.h"
|
||||||
#include "main.h"
|
#include "main.h"
|
||||||
#include "ui.h"
|
#include "ui.h"
|
||||||
#include "vehicle.h"
|
#include "vehicle.h"
|
||||||
|
@ -24,7 +24,7 @@
|
|||||||
/* Defines ------------------------------------------------------------------*/
|
/* Defines ------------------------------------------------------------------*/
|
||||||
/* STMicroelectronics.X-CUBE-AZRTOS-H7.3.0.0 */
|
/* STMicroelectronics.X-CUBE-AZRTOS-H7.3.0.0 */
|
||||||
#define THREADX_ENABLED
|
#define THREADX_ENABLED
|
||||||
/* STMicroelectronics.X-CUBE-TOUCHGFX.4.21.2 */
|
/* STMicroelectronics.X-CUBE-TOUCHGFX.4.22.0 */
|
||||||
#define TOUCHGFX_APP
|
#define TOUCHGFX_APP
|
||||||
|
|
||||||
#endif /* __RTE_COMPONENTS_H__ */
|
#endif /* __RTE_COMPONENTS_H__ */
|
||||||
|
2
Makefile
2
Makefile
@ -1,5 +1,5 @@
|
|||||||
##########################################################################################################################
|
##########################################################################################################################
|
||||||
# File automatically-generated by tool: [projectgenerator] version: [3.19.2] date: [Fri Mar 24 19:11:35 CET 2023]
|
# File automatically-generated by tool: [projectgenerator] version: [4.1.0] date: [Mon Jul 24 18:47:29 CEST 2023]
|
||||||
##########################################################################################################################
|
##########################################################################################################################
|
||||||
|
|
||||||
# ------------------------------------------------
|
# ------------------------------------------------
|
||||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -2,7 +2,7 @@
|
|||||||
* Copyright (c) 2018(-2023) STMicroelectronics.
|
* Copyright (c) 2018(-2023) STMicroelectronics.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of the TouchGFX 4.21.2 distribution.
|
* This file is part of the TouchGFX 4.22.0 distribution.
|
||||||
*
|
*
|
||||||
* This software is licensed under terms that can be found in the LICENSE file in
|
* This software is licensed under terms that can be found in the LICENSE file in
|
||||||
* the root directory of this software component.
|
* the root directory of this software component.
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* Copyright (c) 2018(-2023) STMicroelectronics.
|
* Copyright (c) 2018(-2023) STMicroelectronics.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of the TouchGFX 4.21.2 distribution.
|
* This file is part of the TouchGFX 4.22.0 distribution.
|
||||||
*
|
*
|
||||||
* This software is licensed under terms that can be found in the LICENSE file in
|
* This software is licensed under terms that can be found in the LICENSE file in
|
||||||
* the root directory of this software component.
|
* the root directory of this software component.
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* Copyright (c) 2018(-2023) STMicroelectronics.
|
* Copyright (c) 2018(-2023) STMicroelectronics.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of the TouchGFX 4.21.2 distribution.
|
* This file is part of the TouchGFX 4.22.0 distribution.
|
||||||
*
|
*
|
||||||
* This software is licensed under terms that can be found in the LICENSE file in
|
* This software is licensed under terms that can be found in the LICENSE file in
|
||||||
* the root directory of this software component.
|
* the root directory of this software component.
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* Copyright (c) 2018(-2023) STMicroelectronics.
|
* Copyright (c) 2018(-2023) STMicroelectronics.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of the TouchGFX 4.21.2 distribution.
|
* This file is part of the TouchGFX 4.22.0 distribution.
|
||||||
*
|
*
|
||||||
* This software is licensed under terms that can be found in the LICENSE file in
|
* This software is licensed under terms that can be found in the LICENSE file in
|
||||||
* the root directory of this software component.
|
* the root directory of this software component.
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* Copyright (c) 2018(-2023) STMicroelectronics.
|
* Copyright (c) 2018(-2023) STMicroelectronics.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of the TouchGFX 4.21.2 distribution.
|
* This file is part of the TouchGFX 4.22.0 distribution.
|
||||||
*
|
*
|
||||||
* This software is licensed under terms that can be found in the LICENSE file in
|
* This software is licensed under terms that can be found in the LICENSE file in
|
||||||
* the root directory of this software component.
|
* the root directory of this software component.
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* Copyright (c) 2018(-2023) STMicroelectronics.
|
* Copyright (c) 2018(-2023) STMicroelectronics.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of the TouchGFX 4.21.2 distribution.
|
* This file is part of the TouchGFX 4.22.0 distribution.
|
||||||
*
|
*
|
||||||
* This software is licensed under terms that can be found in the LICENSE file in
|
* This software is licensed under terms that can be found in the LICENSE file in
|
||||||
* the root directory of this software component.
|
* the root directory of this software component.
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* Copyright (c) 2018(-2023) STMicroelectronics.
|
* Copyright (c) 2018(-2023) STMicroelectronics.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of the TouchGFX 4.21.2 distribution.
|
* This file is part of the TouchGFX 4.22.0 distribution.
|
||||||
*
|
*
|
||||||
* This software is licensed under terms that can be found in the LICENSE file in
|
* This software is licensed under terms that can be found in the LICENSE file in
|
||||||
* the root directory of this software component.
|
* the root directory of this software component.
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* Copyright (c) 2018(-2023) STMicroelectronics.
|
* Copyright (c) 2018(-2023) STMicroelectronics.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of the TouchGFX 4.21.2 distribution.
|
* This file is part of the TouchGFX 4.22.0 distribution.
|
||||||
*
|
*
|
||||||
* This software is licensed under terms that can be found in the LICENSE file in
|
* This software is licensed under terms that can be found in the LICENSE file in
|
||||||
* the root directory of this software component.
|
* the root directory of this software component.
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* Copyright (c) 2018(-2023) STMicroelectronics.
|
* Copyright (c) 2018(-2023) STMicroelectronics.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of the TouchGFX 4.21.2 distribution.
|
* This file is part of the TouchGFX 4.22.0 distribution.
|
||||||
*
|
*
|
||||||
* This software is licensed under terms that can be found in the LICENSE file in
|
* This software is licensed under terms that can be found in the LICENSE file in
|
||||||
* the root directory of this software component.
|
* the root directory of this software component.
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* Copyright (c) 2018(-2023) STMicroelectronics.
|
* Copyright (c) 2018(-2023) STMicroelectronics.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of the TouchGFX 4.21.2 distribution.
|
* This file is part of the TouchGFX 4.22.0 distribution.
|
||||||
*
|
*
|
||||||
* This software is licensed under terms that can be found in the LICENSE file in
|
* This software is licensed under terms that can be found in the LICENSE file in
|
||||||
* the root directory of this software component.
|
* the root directory of this software component.
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* Copyright (c) 2018(-2023) STMicroelectronics.
|
* Copyright (c) 2018(-2023) STMicroelectronics.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of the TouchGFX 4.21.2 distribution.
|
* This file is part of the TouchGFX 4.22.0 distribution.
|
||||||
*
|
*
|
||||||
* This software is licensed under terms that can be found in the LICENSE file in
|
* This software is licensed under terms that can be found in the LICENSE file in
|
||||||
* the root directory of this software component.
|
* the root directory of this software component.
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* Copyright (c) 2018(-2023) STMicroelectronics.
|
* Copyright (c) 2018(-2023) STMicroelectronics.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of the TouchGFX 4.21.2 distribution.
|
* This file is part of the TouchGFX 4.22.0 distribution.
|
||||||
*
|
*
|
||||||
* This software is licensed under terms that can be found in the LICENSE file in
|
* This software is licensed under terms that can be found in the LICENSE file in
|
||||||
* the root directory of this software component.
|
* the root directory of this software component.
|
||||||
@ -284,6 +284,32 @@ public:
|
|||||||
*/
|
*/
|
||||||
void enableTextureMapperA4_NearestNeighbor();
|
void enableTextureMapperA4_NearestNeighbor();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Enables all the decompressors available for L8 images (L4, RLE and LZW9).
|
||||||
|
* This allows drawing L4, RLE and LZW9 compressed L8 images.
|
||||||
|
*
|
||||||
|
* @see enableDecompressorL8_L4, enableDecompressorL8_RLE, enableDecompressorL8_LZW9
|
||||||
|
*/
|
||||||
|
void enableDecompressorL8_All();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Enables the decompressor for L8 images compressed with the L4 algorithm.
|
||||||
|
* This allows drawing L4 compressed L8 images.
|
||||||
|
*/
|
||||||
|
void enableDecompressorL8_L4();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Enables the decompressor for L8 images compressed with the RLE algorithm.
|
||||||
|
* This allows drawing RLE compressed L8 images.
|
||||||
|
*/
|
||||||
|
void enableDecompressorL8_RLE();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Enables the decompressor for L8 images compressed with the LZW9 algorithm.
|
||||||
|
* This allows drawing LZW9 compressed L8 images.
|
||||||
|
*/
|
||||||
|
void enableDecompressorL8_LZW9();
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual DrawTextureMapScanLineBase* getTextureMapperDrawScanLine(const TextureSurface& texture, RenderingVariant renderVariant, uint8_t alpha);
|
virtual DrawTextureMapScanLineBase* getTextureMapperDrawScanLine(const TextureSurface& texture, RenderingVariant renderVariant, uint8_t alpha);
|
||||||
|
|
||||||
@ -361,7 +387,7 @@ protected:
|
|||||||
* @param alpha The alpha value to use for blending applied to the whole image (255 =
|
* @param alpha The alpha value to use for blending applied to the whole image (255 =
|
||||||
* solid, no blending)
|
* solid, no blending)
|
||||||
*/
|
*/
|
||||||
static void blitCopyL8(const uint8_t* sourceData, const uint8_t* clutData, const Rect& source, const Rect& blitRect, uint8_t alpha);
|
void blitCopyL8(const uint8_t* sourceData, const uint8_t* clutData, const Rect& source, const Rect& blitRect, uint8_t alpha);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Blits a 2D indexed 8-bit source to the framebuffer performing alpha-blending per
|
* Blits a 2D indexed 8-bit source to the framebuffer performing alpha-blending per
|
||||||
@ -837,6 +863,61 @@ private:
|
|||||||
FORCE_INLINE_FUNCTION void writePixel(uint16_t* const destBits, const uint16_t* const textureBits, const uint32_t offset, const int16_t bitmapStride, const uint8_t UFrac, const uint8_t VFrac) const;
|
FORCE_INLINE_FUNCTION void writePixel(uint16_t* const destBits, const uint16_t* const textureBits, const uint32_t offset, const int16_t bitmapStride, const uint8_t UFrac, const uint8_t VFrac) const;
|
||||||
void writePixelOnEdge(uint16_t* const destBits, const uint16_t* const textureBits, const int16_t bitmapStride, const int16_t bitmapWidth, const int16_t bitmapHeight, const int UInt, const int VInt, const uint8_t UFrac, const uint8_t VFrac) const;
|
void writePixelOnEdge(uint16_t* const destBits, const uint16_t* const textureBits, const int16_t bitmapStride, const int16_t bitmapWidth, const int16_t bitmapHeight, const int UInt, const int VInt, const uint8_t UFrac, const uint8_t VFrac) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
class DecompressorL8Base
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
virtual ~DecompressorL8Base()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
virtual void blitCopyRGB565(const uint8_t* sourceData, const uint8_t* clutData, const Rect& source, const Rect& blitRect, uint8_t alpha) = 0;
|
||||||
|
virtual void blitCopyARGB8888(const uint8_t* sourceData, const uint8_t* clutData, const Rect& source, const Rect& blitRect, uint8_t alpha) = 0;
|
||||||
|
virtual void blitCopyRGB888(const uint8_t* sourceData, const uint8_t* clutData, const Rect& source, const Rect& blitRect, uint8_t alpha) = 0;
|
||||||
|
};
|
||||||
|
|
||||||
|
class DecompressorL8_L4 : public DecompressorL8Base
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
virtual void blitCopyRGB565(const uint8_t* sourceData, const uint8_t* clutData, const Rect& source, const Rect& blitRect, uint8_t alpha);
|
||||||
|
virtual void blitCopyARGB8888(const uint8_t* sourceData, const uint8_t* clutData, const Rect& source, const Rect& blitRect, uint8_t alpha);
|
||||||
|
virtual void blitCopyRGB888(const uint8_t* sourceData, const uint8_t* clutData, const Rect& source, const Rect& blitRect, uint8_t alpha);
|
||||||
|
|
||||||
|
private:
|
||||||
|
uint16_t blendPixelRGB565(uint16_t imagePixel, uint16_t fbPixel, int alpha, int ialpha) const;
|
||||||
|
uint16_t blendPixelARGB8888(uint32_t imagePixel, uint16_t fbPixel, int alpha, uint8_t alphapix) const;
|
||||||
|
uint16_t blendPixelRGB888(const uint8_t* imagePixel, uint16_t fbPixel, uint8_t alpha, uint8_t ialpha) const;
|
||||||
|
};
|
||||||
|
|
||||||
|
class DecompressorL8_RLE : public DecompressorL8Base
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
virtual void blitCopyRGB565(const uint8_t* sourceData, const uint8_t* clutData, const Rect& source, const Rect& blitRect, uint8_t alpha);
|
||||||
|
virtual void blitCopyARGB8888(const uint8_t* sourceData, const uint8_t* clutData, const Rect& source, const Rect& blitRect, uint8_t alpha);
|
||||||
|
virtual void blitCopyRGB888(const uint8_t* sourceData, const uint8_t* clutData, const Rect& source, const Rect& blitRect, uint8_t alpha);
|
||||||
|
|
||||||
|
private:
|
||||||
|
static const uint16_t BLOCK_SIZE = 1024U;
|
||||||
|
};
|
||||||
|
|
||||||
|
class DecompressorL8_LZW9 : public DecompressorL8Base
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
virtual void blitCopyRGB565(const uint8_t* sourceData, const uint8_t* clutData, const Rect& source, const Rect& blitRect, uint8_t alpha);
|
||||||
|
virtual void blitCopyARGB8888(const uint8_t* sourceData, const uint8_t* clutData, const Rect& source, const Rect& blitRect, uint8_t alpha);
|
||||||
|
virtual void blitCopyRGB888(const uint8_t* sourceData, const uint8_t* clutData, const Rect& source, const Rect& blitRect, uint8_t alpha);
|
||||||
|
|
||||||
|
private:
|
||||||
|
static const uint16_t MAX_DICT_SIZE = 512U;
|
||||||
|
static const uint16_t BLOCK_SIZE = 1024U;
|
||||||
|
|
||||||
|
LZW9DictionaryEntry lzw9Dictionary[MAX_DICT_SIZE];
|
||||||
|
uint8_t entryBuffer[64]; // Having 64byte max entry sizes entails 1 + 2 + ... + 63 + 64 = 2080px size image blocks
|
||||||
|
};
|
||||||
|
|
||||||
|
DecompressorL8Base* decompressorL8_L4;
|
||||||
|
DecompressorL8Base* decompressorL8_RLE;
|
||||||
|
DecompressorL8Base* decompressorL8_LZW9;
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace touchgfx
|
} // namespace touchgfx
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* Copyright (c) 2018(-2023) STMicroelectronics.
|
* Copyright (c) 2018(-2023) STMicroelectronics.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of the TouchGFX 4.21.2 distribution.
|
* This file is part of the TouchGFX 4.22.0 distribution.
|
||||||
*
|
*
|
||||||
* This software is licensed under terms that can be found in the LICENSE file in
|
* This software is licensed under terms that can be found in the LICENSE file in
|
||||||
* the root directory of this software component.
|
* the root directory of this software component.
|
||||||
@ -289,6 +289,32 @@ public:
|
|||||||
*/
|
*/
|
||||||
void enableTextureMapperA4_NearestNeighbor();
|
void enableTextureMapperA4_NearestNeighbor();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Enables all the decompressors available for L8 images (L4, RLE and LZW9).
|
||||||
|
* This allows drawing L4, RLE and LZW9 compressed L8 images.
|
||||||
|
*
|
||||||
|
* @see enableDecompressorL8_L4, enableDecompressorL8_RLE, enableDecompressorL8_LZW9
|
||||||
|
*/
|
||||||
|
void enableDecompressorL8_All();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Enables the decompressor for L8 images compressed with the L4 algorithm.
|
||||||
|
* This allows drawing L4 compressed L8 images.
|
||||||
|
*/
|
||||||
|
void enableDecompressorL8_L4();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Enables the decompressor for L8 images compressed with the RLE algorithm.
|
||||||
|
* This allows drawing RLE compressed L8 images.
|
||||||
|
*/
|
||||||
|
void enableDecompressorL8_RLE();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Enables the decompressor for L8 images compressed with the LZW9 algorithm.
|
||||||
|
* This allows drawing LZW9 compressed L8 images.
|
||||||
|
*/
|
||||||
|
void enableDecompressorL8_LZW9();
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual DrawTextureMapScanLineBase* getTextureMapperDrawScanLine(const TextureSurface& texture, RenderingVariant renderVariant, uint8_t alpha);
|
virtual DrawTextureMapScanLineBase* getTextureMapperDrawScanLine(const TextureSurface& texture, RenderingVariant renderVariant, uint8_t alpha);
|
||||||
|
|
||||||
@ -812,6 +838,109 @@ private:
|
|||||||
FORCE_INLINE_FUNCTION void writePixel(uint16_t* const destBits, const uint16_t* const textureBits, const uint32_t offset, const int16_t bitmapWidth, const uint8_t UFrac, const uint8_t VFrac) const;
|
FORCE_INLINE_FUNCTION void writePixel(uint16_t* const destBits, const uint16_t* const textureBits, const uint32_t offset, const int16_t bitmapWidth, const uint8_t UFrac, const uint8_t VFrac) const;
|
||||||
void writePixelOnEdge(uint16_t* const destBits, const uint16_t* const textureBits, const int16_t bitmapStride, const int16_t bitmapWidth, const int16_t bitmapHeight, const int UInt, const int VInt, const uint8_t UFrac, const uint8_t VFrac) const;
|
void writePixelOnEdge(uint16_t* const destBits, const uint16_t* const textureBits, const int16_t bitmapStride, const int16_t bitmapWidth, const int16_t bitmapHeight, const int UInt, const int VInt, const uint8_t UFrac, const uint8_t VFrac) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
class FlashDataProvider
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
FlashDataProvider(FlashDataReader& _flashReader);
|
||||||
|
|
||||||
|
void initialize(const uint8_t* _sourceData, uint32_t _maxBytesToRead);
|
||||||
|
bool addressIsAddressable(const void* address) const;
|
||||||
|
void increment();
|
||||||
|
|
||||||
|
uint8_t getCurrent() const
|
||||||
|
{
|
||||||
|
return *currentBytePtr;
|
||||||
|
}
|
||||||
|
|
||||||
|
private:
|
||||||
|
void readFromFlash();
|
||||||
|
|
||||||
|
FlashDataReader& flashReader;
|
||||||
|
const uint8_t* sourceData;
|
||||||
|
uint32_t maxBytesToRead;
|
||||||
|
uint32_t bytesToRead;
|
||||||
|
const uint8_t* bufferEnd;
|
||||||
|
const uint8_t* currentBytePtr;
|
||||||
|
bool isAddressable;
|
||||||
|
|
||||||
|
static const uint16_t MAX_BYTES_TO_READ = 64;
|
||||||
|
};
|
||||||
|
|
||||||
|
class DecompressorL8Base
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
virtual ~DecompressorL8Base()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
virtual void blitCopyRGB565(const uint8_t* sourceData, const uint8_t* clutData, const Rect& source, const Rect& blitRect, uint8_t alpha) = 0;
|
||||||
|
virtual void blitCopyARGB8888(const uint8_t* sourceData, const uint8_t* clutData, const Rect& source, const Rect& blitRect, uint8_t alpha) = 0;
|
||||||
|
};
|
||||||
|
|
||||||
|
class DecompressorL8_L4 : public DecompressorL8Base
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
DecompressorL8_L4(FlashDataReader& _flashReader)
|
||||||
|
: flashReader(_flashReader)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
virtual void blitCopyRGB565(const uint8_t* sourceData, const uint8_t* clutData, const Rect& source, const Rect& blitRect, uint8_t alpha);
|
||||||
|
virtual void blitCopyARGB8888(const uint8_t* sourceData, const uint8_t* clutData, const Rect& source, const Rect& blitRect, uint8_t alpha);
|
||||||
|
|
||||||
|
private:
|
||||||
|
uint16_t blendPixelRGB565(uint16_t imagePixel, uint16_t fbPixel, int alpha, int ialpha) const;
|
||||||
|
uint16_t blendPixelARGB8888(uint32_t imagePixel, uint16_t fbPixel, int alpha, uint8_t alphapix) const;
|
||||||
|
FlashDataReader& flashReader;
|
||||||
|
};
|
||||||
|
|
||||||
|
class DecompressorL8_RLE : public DecompressorL8Base
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
DecompressorL8_RLE(FlashDataReader& _flashReader)
|
||||||
|
: flashDataProvider(_flashReader)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
virtual void blitCopyRGB565(const uint8_t* sourceData, const uint8_t* clutData, const Rect& source, const Rect& blitRect, uint8_t alpha);
|
||||||
|
virtual void blitCopyARGB8888(const uint8_t* sourceData, const uint8_t* clutData, const Rect& source, const Rect& blitRect, uint8_t alpha);
|
||||||
|
|
||||||
|
private:
|
||||||
|
FlashDataProvider flashDataProvider;
|
||||||
|
static const uint16_t BLOCK_SIZE = 1024U;
|
||||||
|
};
|
||||||
|
|
||||||
|
class DecompressorL8_LZW9 : public DecompressorL8Base
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
DecompressorL8_LZW9(FlashDataReader& _flashReader)
|
||||||
|
: flashDataProvider(_flashReader)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
virtual void blitCopyRGB565(const uint8_t* sourceData, const uint8_t* clutData, const Rect& source, const Rect& blitRect, uint8_t alpha);
|
||||||
|
virtual void blitCopyARGB8888(const uint8_t* sourceData, const uint8_t* clutData, const Rect& source, const Rect& blitRect, uint8_t alpha);
|
||||||
|
|
||||||
|
private:
|
||||||
|
FlashDataProvider flashDataProvider;
|
||||||
|
static const uint16_t MAX_DICT_SIZE = 512U;
|
||||||
|
static const uint16_t BLOCK_SIZE = 1024U;
|
||||||
|
|
||||||
|
struct LZW9DictionaryEntry
|
||||||
|
{
|
||||||
|
uint8_t character; // Current character of the entry
|
||||||
|
uint8_t length; // Remaining length of the entry
|
||||||
|
uint16_t prefixIndex; // Index to previous character
|
||||||
|
};
|
||||||
|
|
||||||
|
LZW9DictionaryEntry lzw9Dictionary[MAX_DICT_SIZE];
|
||||||
|
uint8_t entryBuffer[64]; // Having 64byte max entry sizes entails 1 + 2 + ... + 63 + 64 = 2080px size image blocks
|
||||||
|
};
|
||||||
|
|
||||||
|
DecompressorL8Base* decompressorL8_L4;
|
||||||
|
DecompressorL8Base* decompressorL8_RLE;
|
||||||
|
DecompressorL8Base* decompressorL8_LZW9;
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace touchgfx
|
} // namespace touchgfx
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* Copyright (c) 2018(-2023) STMicroelectronics.
|
* Copyright (c) 2018(-2023) STMicroelectronics.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of the TouchGFX 4.21.2 distribution.
|
* This file is part of the TouchGFX 4.22.0 distribution.
|
||||||
*
|
*
|
||||||
* This software is licensed under terms that can be found in the LICENSE file in
|
* This software is licensed under terms that can be found in the LICENSE file in
|
||||||
* the root directory of this software component.
|
* the root directory of this software component.
|
||||||
@ -263,14 +263,14 @@ private:
|
|||||||
|
|
||||||
uint8_t getNextHalfByte()
|
uint8_t getNextHalfByte()
|
||||||
{
|
{
|
||||||
|
assert(data != 0 && "class bwRLEdata not properly initialized");
|
||||||
if (firstHalfByte) // Start of new byte, read data from BW_RLE stream
|
if (firstHalfByte) // Start of new byte, read data from BW_RLE stream
|
||||||
{
|
{
|
||||||
assert(data);
|
|
||||||
rleByte = *data++;
|
rleByte = *data++;
|
||||||
}
|
}
|
||||||
uint8_t len = rleByte & 0xF; // Read lower half
|
const uint8_t len = rleByte & 0xF; // Read lower half
|
||||||
rleByte >>= 4; // Shift upper half down to make it ready
|
rleByte >>= 4; // Shift upper half down to make it ready
|
||||||
firstHalfByte = !firstHalfByte; // Toggle 'start of byte'
|
firstHalfByte = !firstHalfByte; // Toggle 'start of byte'
|
||||||
return len;
|
return len;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* Copyright (c) 2018(-2023) STMicroelectronics.
|
* Copyright (c) 2018(-2023) STMicroelectronics.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of the TouchGFX 4.21.2 distribution.
|
* This file is part of the TouchGFX 4.22.0 distribution.
|
||||||
*
|
*
|
||||||
* This software is licensed under terms that can be found in the LICENSE file in
|
* This software is licensed under terms that can be found in the LICENSE file in
|
||||||
* the root directory of this software component.
|
* the root directory of this software component.
|
||||||
@ -26,6 +26,8 @@
|
|||||||
|
|
||||||
namespace touchgfx
|
namespace touchgfx
|
||||||
{
|
{
|
||||||
|
struct GlyphNode;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This class contains the various low-level drawing routines for drawing bitmaps, texts and
|
* This class contains the various low-level drawing routines for drawing bitmaps, texts and
|
||||||
* rectangles on 16 bits per pixel displays.
|
* rectangles on 16 bits per pixel displays.
|
||||||
@ -213,6 +215,32 @@ public:
|
|||||||
*/
|
*/
|
||||||
void enableTextureMapperA4_NearestNeighbor();
|
void enableTextureMapperA4_NearestNeighbor();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Enables all the decompressors available for L8 images (L4, RLE and LZW9).
|
||||||
|
* This allows drawing L4, RLE and LZW9 compressed L8 images.
|
||||||
|
*
|
||||||
|
* @see enableDecompressorL8_L4, enableDecompressorL8_RLE, enableDecompressorL8_LZW9
|
||||||
|
*/
|
||||||
|
void enableDecompressorL8_All();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Enables the decompressor for L8 images compressed with the L4 algorithm.
|
||||||
|
* This allows drawing L4 compressed L8 images.
|
||||||
|
*/
|
||||||
|
void enableDecompressorL8_L4();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Enables the decompressor for L8 images compressed with the RLE algorithm.
|
||||||
|
* This allows drawing RLE compressed L8 images.
|
||||||
|
*/
|
||||||
|
void enableDecompressorL8_RLE();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Enables the decompressor for L8 images compressed with the LZW9 algorithm.
|
||||||
|
* This allows drawing LZW9 compressed L8 images.
|
||||||
|
*/
|
||||||
|
void enableDecompressorL8_LZW9();
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual DrawTextureMapScanLineBase* getTextureMapperDrawScanLine(const TextureSurface& texture, RenderingVariant renderVariant, uint8_t alpha);
|
virtual DrawTextureMapScanLineBase* getTextureMapperDrawScanLine(const TextureSurface& texture, RenderingVariant renderVariant, uint8_t alpha);
|
||||||
|
|
||||||
@ -278,7 +306,7 @@ protected:
|
|||||||
* @param alpha The alpha value to use for blending applied to the whole image (255 =
|
* @param alpha The alpha value to use for blending applied to the whole image (255 =
|
||||||
* solid, no blending)
|
* solid, no blending)
|
||||||
*/
|
*/
|
||||||
static void blitCopyL8(const uint8_t* sourceData, const uint8_t* clutData, const Rect& source, const Rect& blitRect, uint8_t alpha);
|
void blitCopyL8(const uint8_t* sourceData, const uint8_t* clutData, const Rect& source, const Rect& blitRect, uint8_t alpha);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Blits a 2D indexed 8-bit source to the framebuffer performing alpha-blending per
|
* Blits a 2D indexed 8-bit source to the framebuffer performing alpha-blending per
|
||||||
@ -580,6 +608,63 @@ private:
|
|||||||
FORCE_INLINE_FUNCTION void writePixel(uint8_t* const destBits, const uint16_t* const textureBits, const int16_t bitmapStride, const int UInt, const int VInt, const uint8_t UFrac, const uint8_t VFrac) const;
|
FORCE_INLINE_FUNCTION void writePixel(uint8_t* const destBits, const uint16_t* const textureBits, const int16_t bitmapStride, const int UInt, const int VInt, const uint8_t UFrac, const uint8_t VFrac) const;
|
||||||
void writePixelOnEdge(uint8_t* const destBits, const uint16_t* const textureBits, const int16_t bitmapStride, const int16_t bitmapWidth, const int16_t bitmapHeight, const int UInt, const int VInt, const uint8_t UFrac, const uint8_t VFrac) const;
|
void writePixelOnEdge(uint8_t* const destBits, const uint16_t* const textureBits, const int16_t bitmapStride, const int16_t bitmapWidth, const int16_t bitmapHeight, const int UInt, const int VInt, const uint8_t UFrac, const uint8_t VFrac) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
class DecompressorL8Base
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
virtual ~DecompressorL8Base()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
virtual void blitCopyRGB888(const uint8_t* sourceData, const uint8_t* clutData, const Rect& source, const Rect& blitRect, uint8_t alpha) = 0;
|
||||||
|
virtual void blitCopyARGB8888(const uint8_t* sourceData, const uint8_t* clutData, const Rect& source, const Rect& blitRect, uint8_t alpha) = 0;
|
||||||
|
};
|
||||||
|
|
||||||
|
class DecompressorL8_L4 : public DecompressorL8Base
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
virtual void blitCopyRGB888(const uint8_t* sourceData, const uint8_t* clutData, const Rect& source, const Rect& blitRect, uint8_t alpha);
|
||||||
|
virtual void blitCopyARGB8888(const uint8_t* sourceData, const uint8_t* clutData, const Rect& source, const Rect& blitRect, uint8_t alpha);
|
||||||
|
|
||||||
|
private:
|
||||||
|
void blendPixelRGB888(const uint8_t* imagePixel, uint8_t* const fbPixel, int alpha) const;
|
||||||
|
void blendPixelARGB8888(const uint8_t* imagePixel, uint8_t* const fbPixel, int alpha, uint8_t alphapix) const;
|
||||||
|
};
|
||||||
|
|
||||||
|
class DecompressorL8_RLE : public DecompressorL8Base
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
virtual void blitCopyRGB888(const uint8_t* sourceData, const uint8_t* clutData, const Rect& source, const Rect& blitRect, uint8_t alpha);
|
||||||
|
virtual void blitCopyARGB8888(const uint8_t* sourceData, const uint8_t* clutData, const Rect& source, const Rect& blitRect, uint8_t alpha);
|
||||||
|
|
||||||
|
private:
|
||||||
|
static const uint16_t BLOCK_SIZE = 1024U;
|
||||||
|
};
|
||||||
|
|
||||||
|
class DecompressorL8_LZW9 : public DecompressorL8Base
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
virtual void blitCopyRGB888(const uint8_t* sourceData, const uint8_t* clutData, const Rect& source, const Rect& blitRect, uint8_t alpha);
|
||||||
|
virtual void blitCopyARGB8888(const uint8_t* sourceData, const uint8_t* clutData, const Rect& source, const Rect& blitRect, uint8_t alpha);
|
||||||
|
|
||||||
|
private:
|
||||||
|
static const uint16_t MAX_DICT_SIZE = 512U;
|
||||||
|
static const uint16_t BLOCK_SIZE = 1024U;
|
||||||
|
|
||||||
|
struct LZW9DictionaryEntry
|
||||||
|
{
|
||||||
|
uint8_t character; // Current character of the entry
|
||||||
|
uint8_t length; // Remaining length of the entry
|
||||||
|
uint16_t prefixIndex; // Index to previous character
|
||||||
|
};
|
||||||
|
|
||||||
|
LZW9DictionaryEntry lzw9Dictionary[MAX_DICT_SIZE];
|
||||||
|
uint8_t entryBuffer[64]; // Having 64byte max entry sizes entails 1 + 2 + ... + 63 + 64 = 2080px size image blocks
|
||||||
|
};
|
||||||
|
|
||||||
|
DecompressorL8Base* decompressorL8_L4;
|
||||||
|
DecompressorL8Base* decompressorL8_RLE;
|
||||||
|
DecompressorL8Base* decompressorL8_LZW9;
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace touchgfx
|
} // namespace touchgfx
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* Copyright (c) 2018(-2023) STMicroelectronics.
|
* Copyright (c) 2018(-2023) STMicroelectronics.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of the TouchGFX 4.21.2 distribution.
|
* This file is part of the TouchGFX 4.22.0 distribution.
|
||||||
*
|
*
|
||||||
* This software is licensed under terms that can be found in the LICENSE file in
|
* This software is licensed under terms that can be found in the LICENSE file in
|
||||||
* the root directory of this software component.
|
* the root directory of this software component.
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* Copyright (c) 2018(-2023) STMicroelectronics.
|
* Copyright (c) 2018(-2023) STMicroelectronics.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of the TouchGFX 4.21.2 distribution.
|
* This file is part of the TouchGFX 4.22.0 distribution.
|
||||||
*
|
*
|
||||||
* This software is licensed under terms that can be found in the LICENSE file in
|
* This software is licensed under terms that can be found in the LICENSE file in
|
||||||
* the root directory of this software component.
|
* the root directory of this software component.
|
||||||
@ -279,6 +279,32 @@ public:
|
|||||||
*/
|
*/
|
||||||
void enableTextureMapperA4_NearestNeighbor();
|
void enableTextureMapperA4_NearestNeighbor();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Enables all the decompressors available for L8 images (L4, RLE and LZW9).
|
||||||
|
* This allows drawing L4, RLE and LZW9 compressed L8 images.
|
||||||
|
*
|
||||||
|
* @see enableDecompressorL8_L4, enableDecompressorL8_RLE, enableDecompressorL8_LZW9
|
||||||
|
*/
|
||||||
|
void enableDecompressorL8_All();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Enables the decompressor for L8 images compressed with the L4 algorithm.
|
||||||
|
* This allows drawing L4 compressed L8 images.
|
||||||
|
*/
|
||||||
|
void enableDecompressorL8_L4();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Enables the decompressor for L8 images compressed with the RLE algorithm.
|
||||||
|
* This allows drawing RLE compressed L8 images.
|
||||||
|
*/
|
||||||
|
void enableDecompressorL8_RLE();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Enables the decompressor for L8 images compressed with the LZW9 algorithm.
|
||||||
|
* This allows drawing LZW9 compressed L8 images.
|
||||||
|
*/
|
||||||
|
void enableDecompressorL8_LZW9();
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual DrawTextureMapScanLineBase* getTextureMapperDrawScanLine(const TextureSurface& texture, RenderingVariant renderVariant, uint8_t alpha);
|
virtual DrawTextureMapScanLineBase* getTextureMapperDrawScanLine(const TextureSurface& texture, RenderingVariant renderVariant, uint8_t alpha);
|
||||||
|
|
||||||
@ -344,7 +370,7 @@ protected:
|
|||||||
* @param alpha The alpha value to use for blending applied to the whole image (255 =
|
* @param alpha The alpha value to use for blending applied to the whole image (255 =
|
||||||
* solid, no blending)
|
* solid, no blending)
|
||||||
*/
|
*/
|
||||||
static void blitCopyL8(const uint8_t* sourceData, const uint8_t* clutData, const Rect& source, const Rect& blitRect, uint8_t alpha);
|
void blitCopyL8(const uint8_t* sourceData, const uint8_t* clutData, const Rect& source, const Rect& blitRect, uint8_t alpha);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Blits a 2D indexed 8-bit source to the framebuffer performing alpha-blending per
|
* Blits a 2D indexed 8-bit source to the framebuffer performing alpha-blending per
|
||||||
@ -897,6 +923,61 @@ private:
|
|||||||
FORCE_INLINE_FUNCTION void writePixel(uint32_t* const destBits, const uint16_t* const textureBits, const int16_t bitmapStride, const int UInt, const int VInt, const uint8_t UFrac, const uint8_t VFrac) const;
|
FORCE_INLINE_FUNCTION void writePixel(uint32_t* const destBits, const uint16_t* const textureBits, const int16_t bitmapStride, const int UInt, const int VInt, const uint8_t UFrac, const uint8_t VFrac) const;
|
||||||
void writePixelOnEdge(uint32_t* const destBits, const uint16_t* const textureBits, const int16_t bitmapStride, const int16_t bitmapWidth, const int16_t bitmapHeight, const int UInt, const int VInt, const uint8_t UFrac, const uint8_t VFrac) const;
|
void writePixelOnEdge(uint32_t* const destBits, const uint16_t* const textureBits, const int16_t bitmapStride, const int16_t bitmapWidth, const int16_t bitmapHeight, const int UInt, const int VInt, const uint8_t UFrac, const uint8_t VFrac) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
class DecompressorL8Base
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
virtual ~DecompressorL8Base()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
virtual void blitCopyRGB565(const uint8_t* sourceData, const uint8_t* clutData, const Rect& source, const Rect& blitRect, uint8_t alpha) = 0;
|
||||||
|
virtual void blitCopyRGB888(const uint8_t* sourceData, const uint8_t* clutData, const Rect& source, const Rect& blitRect, uint8_t alpha) = 0;
|
||||||
|
virtual void blitCopyARGB8888(const uint8_t* sourceData, const uint8_t* clutData, const Rect& source, const Rect& blitRect, uint8_t alpha) = 0;
|
||||||
|
};
|
||||||
|
|
||||||
|
class DecompressorL8_L4 : public DecompressorL8Base
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
virtual void blitCopyRGB565(const uint8_t* sourceData, const uint8_t* clutData, const Rect& source, const Rect& blitRect, uint8_t alpha);
|
||||||
|
virtual void blitCopyRGB888(const uint8_t* sourceData, const uint8_t* clutData, const Rect& source, const Rect& blitRect, uint8_t alpha);
|
||||||
|
virtual void blitCopyARGB8888(const uint8_t* sourceData, const uint8_t* clutData, const Rect& source, const Rect& blitRect, uint8_t alpha);
|
||||||
|
|
||||||
|
private:
|
||||||
|
void blendPixelRGB565(const uint16_t imagePixel, uint32_t* fbPixel, const uint8_t alpha) const;
|
||||||
|
void blendPixelARGB8888(const uint8_t* imagePixel, uint32_t* fbPixel, const uint8_t alpha, const uint8_t alphapix) const;
|
||||||
|
void blendPixelRGB888(const uint8_t* imagePixel, uint32_t* fbPixel, const uint8_t alpha) const;
|
||||||
|
};
|
||||||
|
|
||||||
|
class DecompressorL8_RLE : public DecompressorL8Base
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
virtual void blitCopyRGB565(const uint8_t* sourceData, const uint8_t* clutData, const Rect& source, const Rect& blitRect, uint8_t alpha);
|
||||||
|
virtual void blitCopyRGB888(const uint8_t* sourceData, const uint8_t* clutData, const Rect& source, const Rect& blitRect, uint8_t alpha);
|
||||||
|
virtual void blitCopyARGB8888(const uint8_t* sourceData, const uint8_t* clutData, const Rect& source, const Rect& blitRect, uint8_t alpha);
|
||||||
|
|
||||||
|
private:
|
||||||
|
static const uint16_t BLOCK_SIZE = 1024U;
|
||||||
|
};
|
||||||
|
|
||||||
|
class DecompressorL8_LZW9 : public DecompressorL8Base
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
virtual void blitCopyRGB565(const uint8_t* sourceData, const uint8_t* clutData, const Rect& source, const Rect& blitRect, uint8_t alpha);
|
||||||
|
virtual void blitCopyRGB888(const uint8_t* sourceData, const uint8_t* clutData, const Rect& source, const Rect& blitRect, uint8_t alpha);
|
||||||
|
virtual void blitCopyARGB8888(const uint8_t* sourceData, const uint8_t* clutData, const Rect& source, const Rect& blitRect, uint8_t alpha);
|
||||||
|
|
||||||
|
private:
|
||||||
|
static const uint16_t MAX_DICT_SIZE = 512U;
|
||||||
|
static const uint16_t BLOCK_SIZE = 1024U;
|
||||||
|
|
||||||
|
LZW9DictionaryEntry lzw9Dictionary[MAX_DICT_SIZE];
|
||||||
|
uint8_t entryBuffer[64]; // Having 64byte max entry sizes entails 1 + 2 + ... + 63 + 64 = 2080px size image blocks
|
||||||
|
};
|
||||||
|
|
||||||
|
DecompressorL8Base* decompressorL8_L4;
|
||||||
|
DecompressorL8Base* decompressorL8_RLE;
|
||||||
|
DecompressorL8Base* decompressorL8_LZW9;
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace touchgfx
|
} // namespace touchgfx
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* Copyright (c) 2018(-2023) STMicroelectronics.
|
* Copyright (c) 2018(-2023) STMicroelectronics.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of the TouchGFX 4.21.2 distribution.
|
* This file is part of the TouchGFX 4.22.0 distribution.
|
||||||
*
|
*
|
||||||
* This software is licensed under terms that can be found in the LICENSE file in
|
* This software is licensed under terms that can be found in the LICENSE file in
|
||||||
* the root directory of this software component.
|
* the root directory of this software component.
|
||||||
@ -381,6 +381,32 @@ public:
|
|||||||
return blendRGBwithXrgb8888(r | (r >> 5), g | (g >> 6), b | (b >> 5), bgXRGB8888, fgAlpha, bgAlpha);
|
return blendRGBwithXrgb8888(r | (r >> 5), g | (g >> 6), b | (b >> 5), bgXRGB8888, fgAlpha, bgAlpha);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Enables all the decompressors available for L8 images (L4, RLE and LZW9).
|
||||||
|
* This allows drawing L4, RLE and LZW9 compressed L8 images.
|
||||||
|
*
|
||||||
|
* @see enableDecompressorL8_L4, enableDecompressorL8_RLE, enableDecompressorL8_LZW9
|
||||||
|
*/
|
||||||
|
void enableDecompressorL8_All();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Enables the decompressor for L8 images compressed with the L4 algorithm.
|
||||||
|
* This allows drawing L4 compressed L8 images.
|
||||||
|
*/
|
||||||
|
void enableDecompressorL8_L4();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Enables the decompressor for L8 images compressed with the RLE algorithm.
|
||||||
|
* This allows drawing RLE compressed L8 images.
|
||||||
|
*/
|
||||||
|
void enableDecompressorL8_RLE();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Enables the decompressor for L8 images compressed with the LZW9 algorithm.
|
||||||
|
* This allows drawing LZW9 compressed L8 images.
|
||||||
|
*/
|
||||||
|
void enableDecompressorL8_LZW9();
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual DrawTextureMapScanLineBase* getTextureMapperDrawScanLine(const TextureSurface& texture, RenderingVariant renderVariant, uint8_t alpha);
|
virtual DrawTextureMapScanLineBase* getTextureMapperDrawScanLine(const TextureSurface& texture, RenderingVariant renderVariant, uint8_t alpha);
|
||||||
|
|
||||||
@ -446,7 +472,7 @@ protected:
|
|||||||
* @param alpha The alpha value to use for blending applied to the whole image (255 =
|
* @param alpha The alpha value to use for blending applied to the whole image (255 =
|
||||||
* solid, no blending)
|
* solid, no blending)
|
||||||
*/
|
*/
|
||||||
static void blitCopyL8(const uint8_t* sourceData, const uint8_t* clutData, const Rect& source, const Rect& blitRect, uint8_t alpha);
|
void blitCopyL8(const uint8_t* sourceData, const uint8_t* clutData, const Rect& source, const Rect& blitRect, uint8_t alpha);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Blits a 2D indexed 8-bit source to the framebuffer performing alpha-blending per
|
* Blits a 2D indexed 8-bit source to the framebuffer performing alpha-blending per
|
||||||
@ -884,6 +910,61 @@ private:
|
|||||||
FORCE_INLINE_FUNCTION void writePixel(uint32_t* const destBits, const uint16_t* const textureBits, const int16_t bitmapStride, const int UInt, const int VInt, const uint8_t UFrac, const uint8_t VFrac) const;
|
FORCE_INLINE_FUNCTION void writePixel(uint32_t* const destBits, const uint16_t* const textureBits, const int16_t bitmapStride, const int UInt, const int VInt, const uint8_t UFrac, const uint8_t VFrac) const;
|
||||||
void writePixelOnEdge(uint32_t* const destBits, const uint16_t* const textureBits, const int16_t bitmapStride, const int16_t bitmapWidth, const int16_t bitmapHeight, const int UInt, const int VInt, const uint8_t UFrac, const uint8_t VFrac) const;
|
void writePixelOnEdge(uint32_t* const destBits, const uint16_t* const textureBits, const int16_t bitmapStride, const int16_t bitmapWidth, const int16_t bitmapHeight, const int UInt, const int VInt, const uint8_t UFrac, const uint8_t VFrac) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
class DecompressorL8Base
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
virtual ~DecompressorL8Base()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
virtual void blitCopyRGB565(const uint8_t* sourceData, const uint8_t* clutData, const Rect& source, const Rect& blitRect, uint8_t alpha) = 0;
|
||||||
|
virtual void blitCopyRGB888(const uint8_t* sourceData, const uint8_t* clutData, const Rect& source, const Rect& blitRect, uint8_t alpha) = 0;
|
||||||
|
virtual void blitCopyARGB8888(const uint8_t* sourceData, const uint8_t* clutData, const Rect& source, const Rect& blitRect, uint8_t alpha) = 0;
|
||||||
|
};
|
||||||
|
|
||||||
|
class DecompressorL8_L4 : public DecompressorL8Base
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
virtual void blitCopyRGB565(const uint8_t* sourceData, const uint8_t* clutData, const Rect& source, const Rect& blitRect, uint8_t alpha);
|
||||||
|
virtual void blitCopyRGB888(const uint8_t* sourceData, const uint8_t* clutData, const Rect& source, const Rect& blitRect, uint8_t alpha);
|
||||||
|
virtual void blitCopyARGB8888(const uint8_t* sourceData, const uint8_t* clutData, const Rect& source, const Rect& blitRect, uint8_t alpha);
|
||||||
|
|
||||||
|
private:
|
||||||
|
void blendPixelRGB565(const uint16_t imagePixel, uint32_t* fbPixel, const uint8_t alpha, const uint8_t ialpha) const;
|
||||||
|
void blendPixelARGB8888(const uint8_t* imagePixel, uint32_t* fbPixel, const uint8_t alpha) const;
|
||||||
|
void blendPixelRGB888(const uint8_t* imagePixel, uint32_t* fbPixel, const uint8_t alpha, const uint8_t ialpha) const;
|
||||||
|
};
|
||||||
|
|
||||||
|
class DecompressorL8_RLE : public DecompressorL8Base
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
virtual void blitCopyRGB565(const uint8_t* sourceData, const uint8_t* clutData, const Rect& source, const Rect& blitRect, uint8_t alpha);
|
||||||
|
virtual void blitCopyRGB888(const uint8_t* sourceData, const uint8_t* clutData, const Rect& source, const Rect& blitRect, uint8_t alpha);
|
||||||
|
virtual void blitCopyARGB8888(const uint8_t* sourceData, const uint8_t* clutData, const Rect& source, const Rect& blitRect, uint8_t alpha);
|
||||||
|
|
||||||
|
private:
|
||||||
|
static const uint16_t BLOCK_SIZE = 1024U;
|
||||||
|
};
|
||||||
|
|
||||||
|
class DecompressorL8_LZW9 : public DecompressorL8Base
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
virtual void blitCopyRGB565(const uint8_t* sourceData, const uint8_t* clutData, const Rect& source, const Rect& blitRect, uint8_t alpha);
|
||||||
|
virtual void blitCopyRGB888(const uint8_t* sourceData, const uint8_t* clutData, const Rect& source, const Rect& blitRect, uint8_t alpha);
|
||||||
|
virtual void blitCopyARGB8888(const uint8_t* sourceData, const uint8_t* clutData, const Rect& source, const Rect& blitRect, uint8_t alpha);
|
||||||
|
|
||||||
|
private:
|
||||||
|
static const uint16_t MAX_DICT_SIZE = 512U;
|
||||||
|
static const uint16_t BLOCK_SIZE = 1024U;
|
||||||
|
|
||||||
|
LZW9DictionaryEntry lzw9Dictionary[MAX_DICT_SIZE];
|
||||||
|
uint8_t entryBuffer[64]; // Having 64byte max entry sizes entails 1 + 2 + ... + 63 + 64 = 2080px size image blocks
|
||||||
|
};
|
||||||
|
|
||||||
|
DecompressorL8Base* decompressorL8_L4;
|
||||||
|
DecompressorL8Base* decompressorL8_RLE;
|
||||||
|
DecompressorL8Base* decompressorL8_LZW9;
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace touchgfx
|
} // namespace touchgfx
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* Copyright (c) 2018(-2023) STMicroelectronics.
|
* Copyright (c) 2018(-2023) STMicroelectronics.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of the TouchGFX 4.21.2 distribution.
|
* This file is part of the TouchGFX 4.22.0 distribution.
|
||||||
*
|
*
|
||||||
* This software is licensed under terms that can be found in the LICENSE file in
|
* This software is licensed under terms that can be found in the LICENSE file in
|
||||||
* the root directory of this software component.
|
* the root directory of this software component.
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* Copyright (c) 2018(-2023) STMicroelectronics.
|
* Copyright (c) 2018(-2023) STMicroelectronics.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of the TouchGFX 4.21.2 distribution.
|
* This file is part of the TouchGFX 4.22.0 distribution.
|
||||||
*
|
*
|
||||||
* This software is licensed under terms that can be found in the LICENSE file in
|
* This software is licensed under terms that can be found in the LICENSE file in
|
||||||
* the root directory of this software component.
|
* the root directory of this software component.
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* Copyright (c) 2018(-2023) STMicroelectronics.
|
* Copyright (c) 2018(-2023) STMicroelectronics.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of the TouchGFX 4.21.2 distribution.
|
* This file is part of the TouchGFX 4.22.0 distribution.
|
||||||
*
|
*
|
||||||
* This software is licensed under terms that can be found in the LICENSE file in
|
* This software is licensed under terms that can be found in the LICENSE file in
|
||||||
* the root directory of this software component.
|
* the root directory of this software component.
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* Copyright (c) 2018(-2023) STMicroelectronics.
|
* Copyright (c) 2018(-2023) STMicroelectronics.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of the TouchGFX 4.21.2 distribution.
|
* This file is part of the TouchGFX 4.22.0 distribution.
|
||||||
*
|
*
|
||||||
* This software is licensed under terms that can be found in the LICENSE file in
|
* This software is licensed under terms that can be found in the LICENSE file in
|
||||||
* the root directory of this software component.
|
* the root directory of this software component.
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* Copyright (c) 2018(-2023) STMicroelectronics.
|
* Copyright (c) 2018(-2023) STMicroelectronics.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of the TouchGFX 4.21.2 distribution.
|
* This file is part of the TouchGFX 4.22.0 distribution.
|
||||||
*
|
*
|
||||||
* This software is licensed under terms that can be found in the LICENSE file in
|
* This software is licensed under terms that can be found in the LICENSE file in
|
||||||
* the root directory of this software component.
|
* the root directory of this software component.
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* Copyright (c) 2018(-2023) STMicroelectronics.
|
* Copyright (c) 2018(-2023) STMicroelectronics.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of the TouchGFX 4.21.2 distribution.
|
* This file is part of the TouchGFX 4.22.0 distribution.
|
||||||
*
|
*
|
||||||
* This software is licensed under terms that can be found in the LICENSE file in
|
* This software is licensed under terms that can be found in the LICENSE file in
|
||||||
* the root directory of this software component.
|
* the root directory of this software component.
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* Copyright (c) 2018(-2023) STMicroelectronics.
|
* Copyright (c) 2018(-2023) STMicroelectronics.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of the TouchGFX 4.21.2 distribution.
|
* This file is part of the TouchGFX 4.22.0 distribution.
|
||||||
*
|
*
|
||||||
* This software is licensed under terms that can be found in the LICENSE file in
|
* This software is licensed under terms that can be found in the LICENSE file in
|
||||||
* the root directory of this software component.
|
* the root directory of this software component.
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* Copyright (c) 2018(-2023) STMicroelectronics.
|
* Copyright (c) 2018(-2023) STMicroelectronics.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of the TouchGFX 4.21.2 distribution.
|
* This file is part of the TouchGFX 4.22.0 distribution.
|
||||||
*
|
*
|
||||||
* This software is licensed under terms that can be found in the LICENSE file in
|
* This software is licensed under terms that can be found in the LICENSE file in
|
||||||
* the root directory of this software component.
|
* the root directory of this software component.
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* Copyright (c) 2018(-2023) STMicroelectronics.
|
* Copyright (c) 2018(-2023) STMicroelectronics.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of the TouchGFX 4.21.2 distribution.
|
* This file is part of the TouchGFX 4.22.0 distribution.
|
||||||
*
|
*
|
||||||
* This software is licensed under terms that can be found in the LICENSE file in
|
* This software is licensed under terms that can be found in the LICENSE file in
|
||||||
* the root directory of this software component.
|
* the root directory of this software component.
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* Copyright (c) 2018(-2023) STMicroelectronics.
|
* Copyright (c) 2018(-2023) STMicroelectronics.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of the TouchGFX 4.21.2 distribution.
|
* This file is part of the TouchGFX 4.22.0 distribution.
|
||||||
*
|
*
|
||||||
* This software is licensed under terms that can be found in the LICENSE file in
|
* This software is licensed under terms that can be found in the LICENSE file in
|
||||||
* the root directory of this software component.
|
* the root directory of this software component.
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* Copyright (c) 2018(-2023) STMicroelectronics.
|
* Copyright (c) 2018(-2023) STMicroelectronics.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of the TouchGFX 4.21.2 distribution.
|
* This file is part of the TouchGFX 4.22.0 distribution.
|
||||||
*
|
*
|
||||||
* This software is licensed under terms that can be found in the LICENSE file in
|
* This software is licensed under terms that can be found in the LICENSE file in
|
||||||
* the root directory of this software component.
|
* the root directory of this software component.
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* Copyright (c) 2018(-2023) STMicroelectronics.
|
* Copyright (c) 2018(-2023) STMicroelectronics.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of the TouchGFX 4.21.2 distribution.
|
* This file is part of the TouchGFX 4.22.0 distribution.
|
||||||
*
|
*
|
||||||
* This software is licensed under terms that can be found in the LICENSE file in
|
* This software is licensed under terms that can be found in the LICENSE file in
|
||||||
* the root directory of this software component.
|
* the root directory of this software component.
|
||||||
@ -284,17 +284,29 @@ public:
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Invalidates the entire screen.
|
* Invalidates the entire screen.
|
||||||
*
|
|
||||||
* @param area The area to invalidate.
|
|
||||||
*/
|
*/
|
||||||
void invalidate();
|
virtual void invalidate();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Invalidates the given area.
|
* Invalidates the given area.
|
||||||
*
|
*
|
||||||
* @param area The area to invalidate.
|
* @param area The area to invalidate.
|
||||||
*/
|
*/
|
||||||
void invalidateArea(Rect area);
|
virtual void invalidateArea(Rect area);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get list of the invalidated areas in the current frame.
|
||||||
|
* The list is cleared in the beginning of HAL::tick.
|
||||||
|
*
|
||||||
|
* The list can be usefull on some platforms where the information
|
||||||
|
* can be used to reduce the amount of pixels sent to the display.
|
||||||
|
*
|
||||||
|
* @return Const reference to the list.
|
||||||
|
*/
|
||||||
|
const Vector<Rect, 8>& getInvalidatedAreas()
|
||||||
|
{
|
||||||
|
return cachedDirtyAreas;
|
||||||
|
}
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
/** Protected constructor. */
|
/** Protected constructor. */
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* Copyright (c) 2018(-2023) STMicroelectronics.
|
* Copyright (c) 2018(-2023) STMicroelectronics.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of the TouchGFX 4.21.2 distribution.
|
* This file is part of the TouchGFX 4.22.0 distribution.
|
||||||
*
|
*
|
||||||
* This software is licensed under terms that can be found in the LICENSE file in
|
* This software is licensed under terms that can be found in the LICENSE file in
|
||||||
* the root directory of this software component.
|
* the root directory of this software component.
|
||||||
@ -71,6 +71,15 @@ public:
|
|||||||
CUSTOM ///< Non-standard platform specific format
|
CUSTOM ///< Non-standard platform specific format
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/** Algorithms used for L8 images compression can be stored in the following formats. */
|
||||||
|
enum Compression
|
||||||
|
{
|
||||||
|
COMPRESSION_L8_NONE = 0, ///< No compression applied on the L8 image
|
||||||
|
COMPRESSION_L8_L4 = 1, ///< L4 compression applied on the L8 image
|
||||||
|
COMPRESSION_L8_RLE = 2, ///< RLE compression applied on the L8 image
|
||||||
|
COMPRESSION_L8_LZW9 = 3 ///< LZW9 compression applied on the L8 image
|
||||||
|
};
|
||||||
|
|
||||||
/** Data of a bitmap. */
|
/** Data of a bitmap. */
|
||||||
struct BitmapData
|
struct BitmapData
|
||||||
{
|
{
|
||||||
@ -314,6 +323,23 @@ public:
|
|||||||
/** Clears the cached bitmaps from RAM. */
|
/** Clears the cached bitmaps from RAM. */
|
||||||
static void clearCache();
|
static void clearCache();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Decompress a compressed bitmap into the bitmap cache. The
|
||||||
|
* decompressed bitmap will automatically be used by all Widgets.
|
||||||
|
*
|
||||||
|
* Only compressed L8 images can be decompressed. The decompressed
|
||||||
|
* bitmap will be L8 with an unchanged palette.
|
||||||
|
*
|
||||||
|
* When decompressing L8 bitmaps compressed with LZW an array of
|
||||||
|
* size 2048 bytes (16 bit aligned) must be supplied. The array is
|
||||||
|
* only used during decompressing.
|
||||||
|
*
|
||||||
|
* @param id The id of the Bitmap to decompress.
|
||||||
|
* @param buffer Pointer to a buffer for LZW decompression.
|
||||||
|
* @return true if the bitmap was decompressed.
|
||||||
|
*/
|
||||||
|
static bool decompress(BitmapId id, uint16_t* buffer = 0);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create a dynamic Bitmap. The clutFormat parameter is ignored for bitmaps not in L8 format
|
* Create a dynamic Bitmap. The clutFormat parameter is ignored for bitmaps not in L8 format
|
||||||
* (consider using dynamicBitmapCreateL8 instead). Creation of a new dynamic bitmap may cause
|
* (consider using dynamicBitmapCreateL8 instead). Creation of a new dynamic bitmap may cause
|
||||||
@ -536,10 +562,13 @@ private:
|
|||||||
static uint32_t getSizeOfBitmap(BitmapId id);
|
static uint32_t getSizeOfBitmap(BitmapId id);
|
||||||
static uint32_t getSizeOfBitmapData(BitmapId id);
|
static uint32_t getSizeOfBitmapData(BitmapId id);
|
||||||
static uint32_t getSizeOfBitmapExtraData(BitmapId id);
|
static uint32_t getSizeOfBitmapExtraData(BitmapId id);
|
||||||
static bool cacheInternal(BitmapId id, uint32_t size);
|
static bool cacheInternal(BitmapId id, uint32_t size, bool doCopy = true);
|
||||||
static bool isCustomDynamicBitmap(BitmapId id);
|
static bool isCustomDynamicBitmap(BitmapId id);
|
||||||
static bool copyBitmapToCache(BitmapId id, uint8_t* const dst);
|
static bool copyBitmapToCache(BitmapId id, uint8_t* const dst);
|
||||||
static uint32_t firstFreeDynamicBitmapId();
|
static uint32_t firstFreeDynamicBitmapId();
|
||||||
|
static uint32_t decompressL8_L4(uint8_t* dst, BitmapId id);
|
||||||
|
static uint32_t decompressL8_RLE(uint8_t* dst, BitmapId id);
|
||||||
|
static uint32_t decompressL8_LZW9(uint8_t* dst, BitmapId id, uint16_t* buffer = 0);
|
||||||
|
|
||||||
BitmapId bitmapId;
|
BitmapId bitmapId;
|
||||||
static const BitmapData* bitmaps;
|
static const BitmapData* bitmaps;
|
||||||
@ -553,6 +582,8 @@ private:
|
|||||||
static uint16_t numberOfBitmaps;
|
static uint16_t numberOfBitmaps;
|
||||||
static uint16_t numberOfDynamicBitmaps;
|
static uint16_t numberOfDynamicBitmaps;
|
||||||
static uint16_t uncachedCount; ///< Uncached images, sort of ...
|
static uint16_t uncachedCount; ///< Uncached images, sort of ...
|
||||||
|
|
||||||
|
static const uint16_t RLE_BLOCK_SIZE = 1024U;
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace touchgfx
|
} // namespace touchgfx
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* Copyright (c) 2018(-2023) STMicroelectronics.
|
* Copyright (c) 2018(-2023) STMicroelectronics.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of the TouchGFX 4.21.2 distribution.
|
* This file is part of the TouchGFX 4.22.0 distribution.
|
||||||
*
|
*
|
||||||
* This software is licensed under terms that can be found in the LICENSE file in
|
* This software is licensed under terms that can be found in the LICENSE file in
|
||||||
* the root directory of this software component.
|
* the root directory of this software component.
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* Copyright (c) 2018(-2023) STMicroelectronics.
|
* Copyright (c) 2018(-2023) STMicroelectronics.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of the TouchGFX 4.21.2 distribution.
|
* This file is part of the TouchGFX 4.22.0 distribution.
|
||||||
*
|
*
|
||||||
* This software is licensed under terms that can be found in the LICENSE file in
|
* This software is licensed under terms that can be found in the LICENSE file in
|
||||||
* the root directory of this software component.
|
* the root directory of this software component.
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* Copyright (c) 2018(-2023) STMicroelectronics.
|
* Copyright (c) 2018(-2023) STMicroelectronics.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of the TouchGFX 4.21.2 distribution.
|
* This file is part of the TouchGFX 4.22.0 distribution.
|
||||||
*
|
*
|
||||||
* This software is licensed under terms that can be found in the LICENSE file in
|
* This software is licensed under terms that can be found in the LICENSE file in
|
||||||
* the root directory of this software component.
|
* the root directory of this software component.
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* Copyright (c) 2018(-2023) STMicroelectronics.
|
* Copyright (c) 2018(-2023) STMicroelectronics.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of the TouchGFX 4.21.2 distribution.
|
* This file is part of the TouchGFX 4.22.0 distribution.
|
||||||
*
|
*
|
||||||
* This software is licensed under terms that can be found in the LICENSE file in
|
* This software is licensed under terms that can be found in the LICENSE file in
|
||||||
* the root directory of this software component.
|
* the root directory of this software component.
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* Copyright (c) 2018(-2023) STMicroelectronics.
|
* Copyright (c) 2018(-2023) STMicroelectronics.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of the TouchGFX 4.21.2 distribution.
|
* This file is part of the TouchGFX 4.22.0 distribution.
|
||||||
*
|
*
|
||||||
* This software is licensed under terms that can be found in the LICENSE file in
|
* This software is licensed under terms that can be found in the LICENSE file in
|
||||||
* the root directory of this software component.
|
* the root directory of this software component.
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* Copyright (c) 2018(-2023) STMicroelectronics.
|
* Copyright (c) 2018(-2023) STMicroelectronics.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of the TouchGFX 4.21.2 distribution.
|
* This file is part of the TouchGFX 4.22.0 distribution.
|
||||||
*
|
*
|
||||||
* This software is licensed under terms that can be found in the LICENSE file in
|
* This software is licensed under terms that can be found in the LICENSE file in
|
||||||
* the root directory of this software component.
|
* the root directory of this software component.
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* Copyright (c) 2018(-2023) STMicroelectronics.
|
* Copyright (c) 2018(-2023) STMicroelectronics.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of the TouchGFX 4.21.2 distribution.
|
* This file is part of the TouchGFX 4.22.0 distribution.
|
||||||
*
|
*
|
||||||
* This software is licensed under terms that can be found in the LICENSE file in
|
* This software is licensed under terms that can be found in the LICENSE file in
|
||||||
* the root directory of this software component.
|
* the root directory of this software component.
|
||||||
@ -321,13 +321,12 @@ public:
|
|||||||
TOUCHGFX_DEPRECATED("Please use getBaseline() instead.", virtual uint16_t getFontHeight() const);
|
TOUCHGFX_DEPRECATED("Please use getBaseline() instead.", virtual uint16_t getFontHeight() const);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the position of the baseline of this font. The returned value corresponds to the
|
* Returns the position of the baseline of this font in pixels from the top of the line.
|
||||||
* maximum height occupied by a character in the font.
|
|
||||||
*
|
*
|
||||||
* @return The height in pixels of this font.
|
* @return The baseline position.
|
||||||
*
|
*
|
||||||
* @note It is not sufficient to allocate text areas with this height. Use
|
* @note It is not sufficient to allocate text areas with this height. Use
|
||||||
* getMinimumTextHeight for this.
|
* getHeight for this.
|
||||||
*/
|
*/
|
||||||
FORCE_INLINE_FUNCTION virtual uint16_t getBaseline() const
|
FORCE_INLINE_FUNCTION virtual uint16_t getBaseline() const
|
||||||
{
|
{
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* Copyright (c) 2018(-2023) STMicroelectronics.
|
* Copyright (c) 2018(-2023) STMicroelectronics.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of the TouchGFX 4.21.2 distribution.
|
* This file is part of the TouchGFX 4.22.0 distribution.
|
||||||
*
|
*
|
||||||
* This software is licensed under terms that can be found in the LICENSE file in
|
* This software is licensed under terms that can be found in the LICENSE file in
|
||||||
* the root directory of this software component.
|
* the root directory of this software component.
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* Copyright (c) 2018(-2023) STMicroelectronics.
|
* Copyright (c) 2018(-2023) STMicroelectronics.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of the TouchGFX 4.21.2 distribution.
|
* This file is part of the TouchGFX 4.22.0 distribution.
|
||||||
*
|
*
|
||||||
* This software is licensed under terms that can be found in the LICENSE file in
|
* This software is licensed under terms that can be found in the LICENSE file in
|
||||||
* the root directory of this software component.
|
* the root directory of this software component.
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* Copyright (c) 2018(-2023) STMicroelectronics.
|
* Copyright (c) 2018(-2023) STMicroelectronics.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of the TouchGFX 4.21.2 distribution.
|
* This file is part of the TouchGFX 4.22.0 distribution.
|
||||||
*
|
*
|
||||||
* This software is licensed under terms that can be found in the LICENSE file in
|
* This software is licensed under terms that can be found in the LICENSE file in
|
||||||
* the root directory of this software component.
|
* the root directory of this software component.
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* Copyright (c) 2018(-2023) STMicroelectronics.
|
* Copyright (c) 2018(-2023) STMicroelectronics.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of the TouchGFX 4.21.2 distribution.
|
* This file is part of the TouchGFX 4.22.0 distribution.
|
||||||
*
|
*
|
||||||
* This software is licensed under terms that can be found in the LICENSE file in
|
* This software is licensed under terms that can be found in the LICENSE file in
|
||||||
* the root directory of this software component.
|
* the root directory of this software component.
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* Copyright (c) 2018(-2023) STMicroelectronics.
|
* Copyright (c) 2018(-2023) STMicroelectronics.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of the TouchGFX 4.21.2 distribution.
|
* This file is part of the TouchGFX 4.22.0 distribution.
|
||||||
*
|
*
|
||||||
* This software is licensed under terms that can be found in the LICENSE file in
|
* This software is licensed under terms that can be found in the LICENSE file in
|
||||||
* the root directory of this software component.
|
* the root directory of this software component.
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* Copyright (c) 2018(-2023) STMicroelectronics.
|
* Copyright (c) 2018(-2023) STMicroelectronics.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of the TouchGFX 4.21.2 distribution.
|
* This file is part of the TouchGFX 4.22.0 distribution.
|
||||||
*
|
*
|
||||||
* This software is licensed under terms that can be found in the LICENSE file in
|
* This software is licensed under terms that can be found in the LICENSE file in
|
||||||
* the root directory of this software component.
|
* the root directory of this software component.
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* Copyright (c) 2018(-2023) STMicroelectronics.
|
* Copyright (c) 2018(-2023) STMicroelectronics.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of the TouchGFX 4.21.2 distribution.
|
* This file is part of the TouchGFX 4.22.0 distribution.
|
||||||
*
|
*
|
||||||
* This software is licensed under terms that can be found in the LICENSE file in
|
* This software is licensed under terms that can be found in the LICENSE file in
|
||||||
* the root directory of this software component.
|
* the root directory of this software component.
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* Copyright (c) 2018(-2023) STMicroelectronics.
|
* Copyright (c) 2018(-2023) STMicroelectronics.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of the TouchGFX 4.21.2 distribution.
|
* This file is part of the TouchGFX 4.22.0 distribution.
|
||||||
*
|
*
|
||||||
* This software is licensed under terms that can be found in the LICENSE file in
|
* This software is licensed under terms that can be found in the LICENSE file in
|
||||||
* the root directory of this software component.
|
* the root directory of this software component.
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* Copyright (c) 2018(-2023) STMicroelectronics.
|
* Copyright (c) 2018(-2023) STMicroelectronics.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of the TouchGFX 4.21.2 distribution.
|
* This file is part of the TouchGFX 4.22.0 distribution.
|
||||||
*
|
*
|
||||||
* This software is licensed under terms that can be found in the LICENSE file in
|
* This software is licensed under terms that can be found in the LICENSE file in
|
||||||
* the root directory of this software component.
|
* the root directory of this software component.
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* Copyright (c) 2018(-2023) STMicroelectronics.
|
* Copyright (c) 2018(-2023) STMicroelectronics.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of the TouchGFX 4.21.2 distribution.
|
* This file is part of the TouchGFX 4.22.0 distribution.
|
||||||
*
|
*
|
||||||
* This software is licensed under terms that can be found in the LICENSE file in
|
* This software is licensed under terms that can be found in the LICENSE file in
|
||||||
* the root directory of this software component.
|
* the root directory of this software component.
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* Copyright (c) 2018(-2023) STMicroelectronics.
|
* Copyright (c) 2018(-2023) STMicroelectronics.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of the TouchGFX 4.21.2 distribution.
|
* This file is part of the TouchGFX 4.22.0 distribution.
|
||||||
*
|
*
|
||||||
* This software is licensed under terms that can be found in the LICENSE file in
|
* This software is licensed under terms that can be found in the LICENSE file in
|
||||||
* the root directory of this software component.
|
* the root directory of this software component.
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* Copyright (c) 2018(-2023) STMicroelectronics.
|
* Copyright (c) 2018(-2023) STMicroelectronics.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of the TouchGFX 4.21.2 distribution.
|
* This file is part of the TouchGFX 4.22.0 distribution.
|
||||||
*
|
*
|
||||||
* This software is licensed under terms that can be found in the LICENSE file in
|
* This software is licensed under terms that can be found in the LICENSE file in
|
||||||
* the root directory of this software component.
|
* the root directory of this software component.
|
||||||
@ -467,9 +467,9 @@ public:
|
|||||||
static uint16_t toUTF8(const UnicodeChar* unicode, uint8_t* utf8, uint16_t maxbytes);
|
static uint16_t toUTF8(const UnicodeChar* unicode, uint8_t* utf8, uint16_t maxbytes);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
static void composeString(const UnicodeChar*& bufptr, UnicodeChar sign, UnicodeChar formatChar, bool hasPrecision, bool zeroPrefix, int precision, bool hasWidth, int width, bool alignLeft, int& charNumber, uint16_t dstSize, UnicodeChar* dst);
|
static void composeString(const UnicodeChar*& bufptr, UnicodeChar numberSign, UnicodeChar formatChar, bool hasPrecision, bool zeroPrefix, int precision, bool hasWidth, int width, bool alignLeft, int& charNumber, uint16_t dstSize, UnicodeChar* dst);
|
||||||
|
|
||||||
static void parseFlagsAndPrecision(const UnicodeChar*& ucFormat, const char*& cFormat, UnicodeChar& sign, bool& alignLeft, bool& forceDecimalPoint, bool& zeroPrefix, bool& hasWidth, int& width, bool& hasPrecision, int& precision);
|
static void parseFlagsAndPrecision(const UnicodeChar*& ucFormat, const char*& cFormat, UnicodeChar& numberSign, bool& alignLeft, bool& forceDecimalPoint, bool& zeroPrefix, bool& hasWidth, int& width, bool& hasPrecision, int& precision);
|
||||||
|
|
||||||
static const UnicodeChar* skip_spaces(const UnicodeChar* str);
|
static const UnicodeChar* skip_spaces(const UnicodeChar* str);
|
||||||
static const UnicodeChar* skip_whitespace(const UnicodeChar* str);
|
static const UnicodeChar* skip_whitespace(const UnicodeChar* str);
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* Copyright (c) 2018(-2023) STMicroelectronics.
|
* Copyright (c) 2018(-2023) STMicroelectronics.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of the TouchGFX 4.21.2 distribution.
|
* This file is part of the TouchGFX 4.22.0 distribution.
|
||||||
*
|
*
|
||||||
* This software is licensed under terms that can be found in the LICENSE file in
|
* This software is licensed under terms that can be found in the LICENSE file in
|
||||||
* the root directory of this software component.
|
* the root directory of this software component.
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* Copyright (c) 2018(-2023) STMicroelectronics.
|
* Copyright (c) 2018(-2023) STMicroelectronics.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of the TouchGFX 4.21.2 distribution.
|
* This file is part of the TouchGFX 4.22.0 distribution.
|
||||||
*
|
*
|
||||||
* This software is licensed under terms that can be found in the LICENSE file in
|
* This software is licensed under terms that can be found in the LICENSE file in
|
||||||
* the root directory of this software component.
|
* the root directory of this software component.
|
||||||
@ -13,9 +13,9 @@
|
|||||||
#ifndef TOUCHGFX_VERSION_HPP
|
#ifndef TOUCHGFX_VERSION_HPP
|
||||||
#define TOUCHGFX_VERSION_HPP
|
#define TOUCHGFX_VERSION_HPP
|
||||||
|
|
||||||
#define TOUCHGFX_VERSION 42102
|
#define TOUCHGFX_VERSION 42200
|
||||||
#define TOUCHGFX_VERSION_MAJOR 4
|
#define TOUCHGFX_VERSION_MAJOR 4
|
||||||
#define TOUCHGFX_VERSION_MINOR 21
|
#define TOUCHGFX_VERSION_MINOR 22
|
||||||
#define TOUCHGFX_VERSION_PATCH 2
|
#define TOUCHGFX_VERSION_PATCH 0
|
||||||
|
|
||||||
#endif // TOUCHGFX_VERSION_HPP
|
#endif // TOUCHGFX_VERSION_HPP
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* Copyright (c) 2018(-2023) STMicroelectronics.
|
* Copyright (c) 2018(-2023) STMicroelectronics.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of the TouchGFX 4.21.2 distribution.
|
* This file is part of the TouchGFX 4.22.0 distribution.
|
||||||
*
|
*
|
||||||
* This software is licensed under terms that can be found in the LICENSE file in
|
* This software is licensed under terms that can be found in the LICENSE file in
|
||||||
* the root directory of this software component.
|
* the root directory of this software component.
|
||||||
@ -70,7 +70,6 @@ public:
|
|||||||
* @return Size of memory area used internally by Outline.
|
* @return Size of memory area used internally by Outline.
|
||||||
*/
|
*/
|
||||||
static unsigned int getOutlineBufferSize();
|
static unsigned int getOutlineBufferSize();
|
||||||
/// @endcond
|
|
||||||
|
|
||||||
#ifdef SIMULATOR
|
#ifdef SIMULATOR
|
||||||
/**
|
/**
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* Copyright (c) 2018(-2023) STMicroelectronics.
|
* Copyright (c) 2018(-2023) STMicroelectronics.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of the TouchGFX 4.21.2 distribution.
|
* This file is part of the TouchGFX 4.22.0 distribution.
|
||||||
*
|
*
|
||||||
* This software is licensed under terms that can be found in the LICENSE file in
|
* This software is licensed under terms that can be found in the LICENSE file in
|
||||||
* the root directory of this software component.
|
* the root directory of this software component.
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* Copyright (c) 2018(-2023) STMicroelectronics.
|
* Copyright (c) 2018(-2023) STMicroelectronics.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of the TouchGFX 4.21.2 distribution.
|
* This file is part of the TouchGFX 4.22.0 distribution.
|
||||||
*
|
*
|
||||||
* This software is licensed under terms that can be found in the LICENSE file in
|
* This software is licensed under terms that can be found in the LICENSE file in
|
||||||
* the root directory of this software component.
|
* the root directory of this software component.
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* Copyright (c) 2018(-2023) STMicroelectronics.
|
* Copyright (c) 2018(-2023) STMicroelectronics.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of the TouchGFX 4.21.2 distribution.
|
* This file is part of the TouchGFX 4.22.0 distribution.
|
||||||
*
|
*
|
||||||
* This software is licensed under terms that can be found in the LICENSE file in
|
* This software is licensed under terms that can be found in the LICENSE file in
|
||||||
* the root directory of this software component.
|
* the root directory of this software component.
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* Copyright (c) 2018(-2023) STMicroelectronics.
|
* Copyright (c) 2018(-2023) STMicroelectronics.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of the TouchGFX 4.21.2 distribution.
|
* This file is part of the TouchGFX 4.22.0 distribution.
|
||||||
*
|
*
|
||||||
* This software is licensed under terms that can be found in the LICENSE file in
|
* This software is licensed under terms that can be found in the LICENSE file in
|
||||||
* the root directory of this software component.
|
* the root directory of this software component.
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* Copyright (c) 2018(-2023) STMicroelectronics.
|
* Copyright (c) 2018(-2023) STMicroelectronics.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of the TouchGFX 4.21.2 distribution.
|
* This file is part of the TouchGFX 4.22.0 distribution.
|
||||||
*
|
*
|
||||||
* This software is licensed under terms that can be found in the LICENSE file in
|
* This software is licensed under terms that can be found in the LICENSE file in
|
||||||
* the root directory of this software component.
|
* the root directory of this software component.
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* Copyright (c) 2018(-2023) STMicroelectronics.
|
* Copyright (c) 2018(-2023) STMicroelectronics.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of the TouchGFX 4.21.2 distribution.
|
* This file is part of the TouchGFX 4.22.0 distribution.
|
||||||
*
|
*
|
||||||
* This software is licensed under terms that can be found in the LICENSE file in
|
* This software is licensed under terms that can be found in the LICENSE file in
|
||||||
* the root directory of this software component.
|
* the root directory of this software component.
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* Copyright (c) 2018(-2023) STMicroelectronics.
|
* Copyright (c) 2018(-2023) STMicroelectronics.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of the TouchGFX 4.21.2 distribution.
|
* This file is part of the TouchGFX 4.22.0 distribution.
|
||||||
*
|
*
|
||||||
* This software is licensed under terms that can be found in the LICENSE file in
|
* This software is licensed under terms that can be found in the LICENSE file in
|
||||||
* the root directory of this software component.
|
* the root directory of this software component.
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* Copyright (c) 2018(-2023) STMicroelectronics.
|
* Copyright (c) 2018(-2023) STMicroelectronics.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of the TouchGFX 4.21.2 distribution.
|
* This file is part of the TouchGFX 4.22.0 distribution.
|
||||||
*
|
*
|
||||||
* This software is licensed under terms that can be found in the LICENSE file in
|
* This software is licensed under terms that can be found in the LICENSE file in
|
||||||
* the root directory of this software component.
|
* the root directory of this software component.
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* Copyright (c) 2018(-2023) STMicroelectronics.
|
* Copyright (c) 2018(-2023) STMicroelectronics.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of the TouchGFX 4.21.2 distribution.
|
* This file is part of the TouchGFX 4.22.0 distribution.
|
||||||
*
|
*
|
||||||
* This software is licensed under terms that can be found in the LICENSE file in
|
* This software is licensed under terms that can be found in the LICENSE file in
|
||||||
* the root directory of this software component.
|
* the root directory of this software component.
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* Copyright (c) 2018(-2023) STMicroelectronics.
|
* Copyright (c) 2018(-2023) STMicroelectronics.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of the TouchGFX 4.21.2 distribution.
|
* This file is part of the TouchGFX 4.22.0 distribution.
|
||||||
*
|
*
|
||||||
* This software is licensed under terms that can be found in the LICENSE file in
|
* This software is licensed under terms that can be found in the LICENSE file in
|
||||||
* the root directory of this software component.
|
* the root directory of this software component.
|
||||||
@ -139,7 +139,7 @@ public:
|
|||||||
* @note The x and y position of the Slider will either be the left/top of the background or
|
* @note The x and y position of the Slider will either be the left/top of the background or
|
||||||
* the left/top of the indicator in its minimum x coordinate.
|
* the left/top of the indicator in its minimum x coordinate.
|
||||||
*/
|
*/
|
||||||
virtual void setupHorizontalSlider(uint16_t backgroundX, uint16_t backgroundY, uint16_t indicatorY, uint16_t indicatorMinX, uint16_t indicatorMaxX);
|
virtual void setupHorizontalSlider(int16_t backgroundX, int16_t backgroundY, int16_t indicatorY, int16_t indicatorMinX, int16_t indicatorMaxX);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets up the slider in vertical mode with the range going from the bottom to top.
|
* Sets up the slider in vertical mode with the range going from the bottom to top.
|
||||||
@ -167,7 +167,7 @@ public:
|
|||||||
* @note The x and y position of the Slider will either be the left/top of the background or
|
* @note The x and y position of the Slider will either be the left/top of the background or
|
||||||
* the left/top of the indicator in its minimum y coordinate.
|
* the left/top of the indicator in its minimum y coordinate.
|
||||||
*/
|
*/
|
||||||
virtual void setupVerticalSlider(uint16_t backgroundX, uint16_t backgroundY, uint16_t indicatorX, uint16_t indicatorMinY, uint16_t indicatorMaxY);
|
virtual void setupVerticalSlider(int16_t backgroundX, int16_t backgroundY, int16_t indicatorX, int16_t indicatorMinY, int16_t indicatorMaxY);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets indicator minimum previously set using setupHorizontalSlider() or
|
* Gets indicator minimum previously set using setupHorizontalSlider() or
|
||||||
@ -177,7 +177,7 @@ public:
|
|||||||
*
|
*
|
||||||
* @see setupHorizontalSlider, setupVerticalSlider, getIndicatorMax
|
* @see setupHorizontalSlider, setupVerticalSlider, getIndicatorMax
|
||||||
*/
|
*/
|
||||||
virtual uint16_t getIndicatorMin() const
|
virtual int16_t getIndicatorMin() const
|
||||||
{
|
{
|
||||||
return indicatorMinPosition;
|
return indicatorMinPosition;
|
||||||
}
|
}
|
||||||
@ -190,7 +190,7 @@ public:
|
|||||||
*
|
*
|
||||||
* @see setupHorizontalSlider, setupVerticalSlider, getIndicatorMin
|
* @see setupHorizontalSlider, setupVerticalSlider, getIndicatorMin
|
||||||
*/
|
*/
|
||||||
virtual uint16_t getIndicatorMax() const
|
virtual int16_t getIndicatorMax() const
|
||||||
{
|
{
|
||||||
return indicatorMaxPosition;
|
return indicatorMaxPosition;
|
||||||
}
|
}
|
||||||
@ -208,7 +208,7 @@ public:
|
|||||||
* @note If the range is larger than the number of pixels specified for the indicator min and
|
* @note If the range is larger than the number of pixels specified for the indicator min and
|
||||||
* max some values will not be represented by the slider.
|
* max some values will not be represented by the slider.
|
||||||
*/
|
*/
|
||||||
virtual void setValueRange(int minValue, int maxValue, int newValue);
|
virtual void setValueRange(int16_t minValue, int16_t maxValue, int16_t newValue);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets the minimum value previously set using setValueRange().
|
* Gets the minimum value previously set using setValueRange().
|
||||||
@ -217,7 +217,7 @@ public:
|
|||||||
*
|
*
|
||||||
* @see setValueRange, getMaxValue
|
* @see setValueRange, getMaxValue
|
||||||
*/
|
*/
|
||||||
virtual uint16_t getMinValue() const
|
virtual int16_t getMinValue() const
|
||||||
{
|
{
|
||||||
return valueRangeMin;
|
return valueRangeMin;
|
||||||
}
|
}
|
||||||
@ -229,7 +229,7 @@ public:
|
|||||||
*
|
*
|
||||||
* @see setValueRange, getMinValue
|
* @see setValueRange, getMinValue
|
||||||
*/
|
*/
|
||||||
virtual uint16_t getMaxValue() const
|
virtual int16_t getMaxValue() const
|
||||||
{
|
{
|
||||||
return valueRangeMax;
|
return valueRangeMax;
|
||||||
}
|
}
|
||||||
@ -247,7 +247,7 @@ public:
|
|||||||
* @note If the range is larger than the number of pixels specified for the indicator min and
|
* @note If the range is larger than the number of pixels specified for the indicator min and
|
||||||
* indicator max, some values will not be represented by the slider.
|
* indicator max, some values will not be represented by the slider.
|
||||||
*/
|
*/
|
||||||
virtual void setValueRange(int minValue, int maxValue);
|
virtual void setValueRange(int16_t minValue, int16_t maxValue);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Places the indicator at the specified value relative to the specified value range.
|
* Places the indicator at the specified value relative to the specified value range.
|
||||||
@ -263,7 +263,7 @@ public:
|
|||||||
* thus is not possible to set with this method. In this case the value will be
|
* thus is not possible to set with this method. In this case the value will be
|
||||||
* rounded to the nearest value that is represented in the current setting.
|
* rounded to the nearest value that is represented in the current setting.
|
||||||
*/
|
*/
|
||||||
virtual void setValue(int value);
|
virtual void setValue(int16_t value);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets the current value represented by the indicator.
|
* Gets the current value represented by the indicator.
|
||||||
@ -289,10 +289,10 @@ protected:
|
|||||||
|
|
||||||
SliderOrientation sliderOrientation; ///< The selected slider orientation
|
SliderOrientation sliderOrientation; ///< The selected slider orientation
|
||||||
|
|
||||||
int currentValue; ///< The current value represented by the slider
|
int16_t currentValue; ///< The current value represented by the slider
|
||||||
|
|
||||||
int valueRangeMin; ///< The value range min
|
int16_t valueRangeMin; ///< The value range min
|
||||||
int valueRangeMax; ///< The value range max
|
int16_t valueRangeMax; ///< The value range max
|
||||||
|
|
||||||
Image background; ///< The background image
|
Image background; ///< The background image
|
||||||
Image backgroundSelected; ///< The backgroundSelected image
|
Image backgroundSelected; ///< The backgroundSelected image
|
||||||
@ -340,7 +340,7 @@ protected:
|
|||||||
*
|
*
|
||||||
* @return The the indicator radius.
|
* @return The the indicator radius.
|
||||||
*/
|
*/
|
||||||
virtual uint16_t getIndicatorRadius() const;
|
virtual int16_t getIndicatorRadius() const;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets the indicator position range, i.e. the difference between max and min for the
|
* Gets the indicator position range, i.e. the difference between max and min for the
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* Copyright (c) 2018(-2023) STMicroelectronics.
|
* Copyright (c) 2018(-2023) STMicroelectronics.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of the TouchGFX 4.21.2 distribution.
|
* This file is part of the TouchGFX 4.22.0 distribution.
|
||||||
*
|
*
|
||||||
* This software is licensed under terms that can be found in the LICENSE file in
|
* This software is licensed under terms that can be found in the LICENSE file in
|
||||||
* the root directory of this software component.
|
* the root directory of this software component.
|
||||||
@ -29,8 +29,8 @@
|
|||||||
namespace touchgfx
|
namespace touchgfx
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* A SwipeContainer is a Container with a horizontally laid out list of identically sized Drawables. The bottom of
|
* A SwipeContainer is a Container with a horizontally laid out list of identically sized Drawables.
|
||||||
* the SwipeContainer shows a page indicator to indicate the position in the horizontal
|
* The bottom of the SwipeContainer shows a page indicator to indicate the position in the horizontal
|
||||||
* list of items in the SwipeContainer.
|
* list of items in the SwipeContainer.
|
||||||
*
|
*
|
||||||
* @see ListLayout
|
* @see ListLayout
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* Copyright (c) 2018(-2023) STMicroelectronics.
|
* Copyright (c) 2018(-2023) STMicroelectronics.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of the TouchGFX 4.21.2 distribution.
|
* This file is part of the TouchGFX 4.22.0 distribution.
|
||||||
*
|
*
|
||||||
* This software is licensed under terms that can be found in the LICENSE file in
|
* This software is licensed under terms that can be found in the LICENSE file in
|
||||||
* the root directory of this software component.
|
* the root directory of this software component.
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* Copyright (c) 2018(-2023) STMicroelectronics.
|
* Copyright (c) 2018(-2023) STMicroelectronics.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of the TouchGFX 4.21.2 distribution.
|
* This file is part of the TouchGFX 4.22.0 distribution.
|
||||||
*
|
*
|
||||||
* This software is licensed under terms that can be found in the LICENSE file in
|
* This software is licensed under terms that can be found in the LICENSE file in
|
||||||
* the root directory of this software component.
|
* the root directory of this software component.
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* Copyright (c) 2018(-2023) STMicroelectronics.
|
* Copyright (c) 2018(-2023) STMicroelectronics.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of the TouchGFX 4.21.2 distribution.
|
* This file is part of the TouchGFX 4.22.0 distribution.
|
||||||
*
|
*
|
||||||
* This software is licensed under terms that can be found in the LICENSE file in
|
* This software is licensed under terms that can be found in the LICENSE file in
|
||||||
* the root directory of this software component.
|
* the root directory of this software component.
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* Copyright (c) 2018(-2023) STMicroelectronics.
|
* Copyright (c) 2018(-2023) STMicroelectronics.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of the TouchGFX 4.21.2 distribution.
|
* This file is part of the TouchGFX 4.22.0 distribution.
|
||||||
*
|
*
|
||||||
* This software is licensed under terms that can be found in the LICENSE file in
|
* This software is licensed under terms that can be found in the LICENSE file in
|
||||||
* the root directory of this software component.
|
* the root directory of this software component.
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* Copyright (c) 2018(-2023) STMicroelectronics.
|
* Copyright (c) 2018(-2023) STMicroelectronics.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of the TouchGFX 4.21.2 distribution.
|
* This file is part of the TouchGFX 4.22.0 distribution.
|
||||||
*
|
*
|
||||||
* This software is licensed under terms that can be found in the LICENSE file in
|
* This software is licensed under terms that can be found in the LICENSE file in
|
||||||
* the root directory of this software component.
|
* the root directory of this software component.
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* Copyright (c) 2018(-2023) STMicroelectronics.
|
* Copyright (c) 2018(-2023) STMicroelectronics.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of the TouchGFX 4.21.2 distribution.
|
* This file is part of the TouchGFX 4.22.0 distribution.
|
||||||
*
|
*
|
||||||
* This software is licensed under terms that can be found in the LICENSE file in
|
* This software is licensed under terms that can be found in the LICENSE file in
|
||||||
* the root directory of this software component.
|
* the root directory of this software component.
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* Copyright (c) 2018(-2023) STMicroelectronics.
|
* Copyright (c) 2018(-2023) STMicroelectronics.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of the TouchGFX 4.21.2 distribution.
|
* This file is part of the TouchGFX 4.22.0 distribution.
|
||||||
*
|
*
|
||||||
* This software is licensed under terms that can be found in the LICENSE file in
|
* This software is licensed under terms that can be found in the LICENSE file in
|
||||||
* the root directory of this software component.
|
* the root directory of this software component.
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* Copyright (c) 2018(-2023) STMicroelectronics.
|
* Copyright (c) 2018(-2023) STMicroelectronics.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of the TouchGFX 4.21.2 distribution.
|
* This file is part of the TouchGFX 4.22.0 distribution.
|
||||||
*
|
*
|
||||||
* This software is licensed under terms that can be found in the LICENSE file in
|
* This software is licensed under terms that can be found in the LICENSE file in
|
||||||
* the root directory of this software component.
|
* the root directory of this software component.
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* Copyright (c) 2018(-2023) STMicroelectronics.
|
* Copyright (c) 2018(-2023) STMicroelectronics.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of the TouchGFX 4.21.2 distribution.
|
* This file is part of the TouchGFX 4.22.0 distribution.
|
||||||
*
|
*
|
||||||
* This software is licensed under terms that can be found in the LICENSE file in
|
* This software is licensed under terms that can be found in the LICENSE file in
|
||||||
* the root directory of this software component.
|
* the root directory of this software component.
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* Copyright (c) 2018(-2023) STMicroelectronics.
|
* Copyright (c) 2018(-2023) STMicroelectronics.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of the TouchGFX 4.21.2 distribution.
|
* This file is part of the TouchGFX 4.22.0 distribution.
|
||||||
*
|
*
|
||||||
* This software is licensed under terms that can be found in the LICENSE file in
|
* This software is licensed under terms that can be found in the LICENSE file in
|
||||||
* the root directory of this software component.
|
* the root directory of this software component.
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* Copyright (c) 2018(-2023) STMicroelectronics.
|
* Copyright (c) 2018(-2023) STMicroelectronics.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of the TouchGFX 4.21.2 distribution.
|
* This file is part of the TouchGFX 4.22.0 distribution.
|
||||||
*
|
*
|
||||||
* This software is licensed under terms that can be found in the LICENSE file in
|
* This software is licensed under terms that can be found in the LICENSE file in
|
||||||
* the root directory of this software component.
|
* the root directory of this software component.
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* Copyright (c) 2018(-2023) STMicroelectronics.
|
* Copyright (c) 2018(-2023) STMicroelectronics.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of the TouchGFX 4.21.2 distribution.
|
* This file is part of the TouchGFX 4.22.0 distribution.
|
||||||
*
|
*
|
||||||
* This software is licensed under terms that can be found in the LICENSE file in
|
* This software is licensed under terms that can be found in the LICENSE file in
|
||||||
* the root directory of this software component.
|
* the root directory of this software component.
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* Copyright (c) 2018(-2023) STMicroelectronics.
|
* Copyright (c) 2018(-2023) STMicroelectronics.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of the TouchGFX 4.21.2 distribution.
|
* This file is part of the TouchGFX 4.22.0 distribution.
|
||||||
*
|
*
|
||||||
* This software is licensed under terms that can be found in the LICENSE file in
|
* This software is licensed under terms that can be found in the LICENSE file in
|
||||||
* the root directory of this software component.
|
* the root directory of this software component.
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* Copyright (c) 2018(-2023) STMicroelectronics.
|
* Copyright (c) 2018(-2023) STMicroelectronics.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of the TouchGFX 4.21.2 distribution.
|
* This file is part of the TouchGFX 4.22.0 distribution.
|
||||||
*
|
*
|
||||||
* This software is licensed under terms that can be found in the LICENSE file in
|
* This software is licensed under terms that can be found in the LICENSE file in
|
||||||
* the root directory of this software component.
|
* the root directory of this software component.
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* Copyright (c) 2018(-2023) STMicroelectronics.
|
* Copyright (c) 2018(-2023) STMicroelectronics.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of the TouchGFX 4.21.2 distribution.
|
* This file is part of the TouchGFX 4.22.0 distribution.
|
||||||
*
|
*
|
||||||
* This software is licensed under terms that can be found in the LICENSE file in
|
* This software is licensed under terms that can be found in the LICENSE file in
|
||||||
* the root directory of this software component.
|
* the root directory of this software component.
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* Copyright (c) 2018(-2023) STMicroelectronics.
|
* Copyright (c) 2018(-2023) STMicroelectronics.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of the TouchGFX 4.21.2 distribution.
|
* This file is part of the TouchGFX 4.22.0 distribution.
|
||||||
*
|
*
|
||||||
* This software is licensed under terms that can be found in the LICENSE file in
|
* This software is licensed under terms that can be found in the LICENSE file in
|
||||||
* the root directory of this software component.
|
* the root directory of this software component.
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* Copyright (c) 2018(-2023) STMicroelectronics.
|
* Copyright (c) 2018(-2023) STMicroelectronics.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of the TouchGFX 4.21.2 distribution.
|
* This file is part of the TouchGFX 4.22.0 distribution.
|
||||||
*
|
*
|
||||||
* This software is licensed under terms that can be found in the LICENSE file in
|
* This software is licensed under terms that can be found in the LICENSE file in
|
||||||
* the root directory of this software component.
|
* the root directory of this software component.
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* Copyright (c) 2018(-2023) STMicroelectronics.
|
* Copyright (c) 2018(-2023) STMicroelectronics.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of the TouchGFX 4.21.2 distribution.
|
* This file is part of the TouchGFX 4.22.0 distribution.
|
||||||
*
|
*
|
||||||
* This software is licensed under terms that can be found in the LICENSE file in
|
* This software is licensed under terms that can be found in the LICENSE file in
|
||||||
* the root directory of this software component.
|
* the root directory of this software component.
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* Copyright (c) 2018(-2023) STMicroelectronics.
|
* Copyright (c) 2018(-2023) STMicroelectronics.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of the TouchGFX 4.21.2 distribution.
|
* This file is part of the TouchGFX 4.22.0 distribution.
|
||||||
*
|
*
|
||||||
* This software is licensed under terms that can be found in the LICENSE file in
|
* This software is licensed under terms that can be found in the LICENSE file in
|
||||||
* the root directory of this software component.
|
* the root directory of this software component.
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* Copyright (c) 2018(-2023) STMicroelectronics.
|
* Copyright (c) 2018(-2023) STMicroelectronics.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of the TouchGFX 4.21.2 distribution.
|
* This file is part of the TouchGFX 4.22.0 distribution.
|
||||||
*
|
*
|
||||||
* This software is licensed under terms that can be found in the LICENSE file in
|
* This software is licensed under terms that can be found in the LICENSE file in
|
||||||
* the root directory of this software component.
|
* the root directory of this software component.
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* Copyright (c) 2018(-2023) STMicroelectronics.
|
* Copyright (c) 2018(-2023) STMicroelectronics.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of the TouchGFX 4.21.2 distribution.
|
* This file is part of the TouchGFX 4.22.0 distribution.
|
||||||
*
|
*
|
||||||
* This software is licensed under terms that can be found in the LICENSE file in
|
* This software is licensed under terms that can be found in the LICENSE file in
|
||||||
* the root directory of this software component.
|
* the root directory of this software component.
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* Copyright (c) 2018(-2023) STMicroelectronics.
|
* Copyright (c) 2018(-2023) STMicroelectronics.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of the TouchGFX 4.21.2 distribution.
|
* This file is part of the TouchGFX 4.22.0 distribution.
|
||||||
*
|
*
|
||||||
* This software is licensed under terms that can be found in the LICENSE file in
|
* This software is licensed under terms that can be found in the LICENSE file in
|
||||||
* the root directory of this software component.
|
* the root directory of this software component.
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* Copyright (c) 2018(-2023) STMicroelectronics.
|
* Copyright (c) 2018(-2023) STMicroelectronics.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of the TouchGFX 4.21.2 distribution.
|
* This file is part of the TouchGFX 4.22.0 distribution.
|
||||||
*
|
*
|
||||||
* This software is licensed under terms that can be found in the LICENSE file in
|
* This software is licensed under terms that can be found in the LICENSE file in
|
||||||
* the root directory of this software component.
|
* the root directory of this software component.
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* Copyright (c) 2018(-2023) STMicroelectronics.
|
* Copyright (c) 2018(-2023) STMicroelectronics.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of the TouchGFX 4.21.2 distribution.
|
* This file is part of the TouchGFX 4.22.0 distribution.
|
||||||
*
|
*
|
||||||
* This software is licensed under terms that can be found in the LICENSE file in
|
* This software is licensed under terms that can be found in the LICENSE file in
|
||||||
* the root directory of this software component.
|
* the root directory of this software component.
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* Copyright (c) 2018(-2023) STMicroelectronics.
|
* Copyright (c) 2018(-2023) STMicroelectronics.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of the TouchGFX 4.21.2 distribution.
|
* This file is part of the TouchGFX 4.22.0 distribution.
|
||||||
*
|
*
|
||||||
* This software is licensed under terms that can be found in the LICENSE file in
|
* This software is licensed under terms that can be found in the LICENSE file in
|
||||||
* the root directory of this software component.
|
* the root directory of this software component.
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* Copyright (c) 2018(-2023) STMicroelectronics.
|
* Copyright (c) 2018(-2023) STMicroelectronics.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of the TouchGFX 4.21.2 distribution.
|
* This file is part of the TouchGFX 4.22.0 distribution.
|
||||||
*
|
*
|
||||||
* This software is licensed under terms that can be found in the LICENSE file in
|
* This software is licensed under terms that can be found in the LICENSE file in
|
||||||
* the root directory of this software component.
|
* the root directory of this software component.
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* Copyright (c) 2018(-2023) STMicroelectronics.
|
* Copyright (c) 2018(-2023) STMicroelectronics.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of the TouchGFX 4.21.2 distribution.
|
* This file is part of the TouchGFX 4.22.0 distribution.
|
||||||
*
|
*
|
||||||
* This software is licensed under terms that can be found in the LICENSE file in
|
* This software is licensed under terms that can be found in the LICENSE file in
|
||||||
* the root directory of this software component.
|
* the root directory of this software component.
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* Copyright (c) 2018(-2023) STMicroelectronics.
|
* Copyright (c) 2018(-2023) STMicroelectronics.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of the TouchGFX 4.21.2 distribution.
|
* This file is part of the TouchGFX 4.22.0 distribution.
|
||||||
*
|
*
|
||||||
* This software is licensed under terms that can be found in the LICENSE file in
|
* This software is licensed under terms that can be found in the LICENSE file in
|
||||||
* the root directory of this software component.
|
* the root directory of this software component.
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user