From 7232ad74a05e6aa76d380ade40ff1896c156a9f9 Mon Sep 17 00:00:00 2001 From: liamHowatt Date: Fri, 15 Nov 2024 14:56:38 +0100 Subject: [PATCH] chore(NemaGFX): update library --- libs/nema_gfx/include/build_version.h | 2 +- libs/nema_gfx/include/nema_blender.h | 366 +-- libs/nema_gfx/include/nema_cmdlist.h | 416 ++-- libs/nema_gfx/include/nema_core.h | 83 +- libs/nema_gfx/include/nema_easing.h | 738 +++--- libs/nema_gfx/include/nema_error.h | 138 +- libs/nema_gfx/include/nema_font.h | 368 +-- libs/nema_gfx/include/nema_graphics.h | 2036 +++++++++-------- libs/nema_gfx/include/nema_hal.h | 436 ++-- libs/nema_gfx/include/nema_interpolators.h | 244 +- libs/nema_gfx/include/nema_math.h | 556 ++--- libs/nema_gfx/include/nema_matrix3x3.h | 460 ++-- libs/nema_gfx/include/nema_matrix4x4.h | 464 ++-- libs/nema_gfx/include/nema_provisional.h | 248 +- libs/nema_gfx/include/nema_raster.h | 224 +- libs/nema_gfx/include/nema_sys_defs.h | 116 +- libs/nema_gfx/include/nema_transitions.h | 420 ++-- libs/nema_gfx/include/nema_utils.h | 100 +- libs/nema_gfx/include/nema_version.h | 55 + libs/nema_gfx/include/nema_vg.h | 472 ++-- libs/nema_gfx/include/nema_vg_context.h | 420 ++-- libs/nema_gfx/include/nema_vg_font.h | 394 ++-- libs/nema_gfx/include/nema_vg_paint.h | 482 ++-- libs/nema_gfx/include/nema_vg_path.h | 286 +-- libs/nema_gfx/include/nema_vg_tsvg.h | 112 +- libs/nema_gfx/include/nema_vg_version.h | 110 +- libs/nema_gfx/include/tsi_malloc.h | 128 +- .../gcc/libnemagfx-float-abi-hard-wc16.a | Bin 304526 -> 311508 bytes .../gcc/libnemagfx-float-abi-hard.a | Bin 304526 -> 311508 bytes .../lib/core/cortex_m33/gcc/libnemagfx-wc16.a | Bin 306054 -> 313316 bytes .../lib/core/cortex_m33/gcc/libnemagfx.a | Bin 306054 -> 313316 bytes src/draw/nema_gfx/lv_draw_nema_gfx.c | 5 +- src/draw/nema_gfx/lv_draw_nema_gfx_arc.c | 4 +- 33 files changed, 5033 insertions(+), 4850 deletions(-) create mode 100644 libs/nema_gfx/include/nema_version.h diff --git a/libs/nema_gfx/include/build_version.h b/libs/nema_gfx/include/build_version.h index 401fd6ec6..8c235c31d 100644 --- a/libs/nema_gfx/include/build_version.h +++ b/libs/nema_gfx/include/build_version.h @@ -1 +1 @@ -// Build Hash: f02602a9bc58957911babb1a647e6b0019983cb7 +// Build Hash: 41847c80308e08cc83474b118b1bd53ab622cd7e diff --git a/libs/nema_gfx/include/nema_blender.h b/libs/nema_gfx/include/nema_blender.h index 49377af9e..fdfed21b0 100644 --- a/libs/nema_gfx/include/nema_blender.h +++ b/libs/nema_gfx/include/nema_blender.h @@ -1,178 +1,188 @@ -/* TSI 2023.xmo */ -/******************************************************************************* - * Copyright (c) 2023 Think Silicon Single Member PC - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this header file and/or associated documentation files to use, copy, - * modify, merge, publish, distribute, sublicense, and/or sell copies of the - * Materials, and to permit persons to whom the Materials are furnished to do - * so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Materials. - * - * MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS - * NEMAGFX API. THE UNMODIFIED, NORMATIVE VERSIONS OF THINK-SILICON NEMAGFX - * SPECIFICATIONS AND HEADER INFORMATION ARE LOCATED AT: - * https://think-silicon.com/products/software/nemagfx-api - * - * The software is provided 'as is', without warranty of any kind, express or - * implied, including but not limited to the warranties of merchantability, - * fitness for a particular purpose and noninfringement. In no event shall - * Think Silicon Single Member PC be liable for any claim, damages or other - * liability, whether in an action of contract, tort or otherwise, arising - * from, out of or in connection with the software or the use or other dealings - * in the software. - ******************************************************************************/ - - -#ifndef NEMA_BLENDER_H__ -#define NEMA_BLENDER_H__ - -#include "nema_sys_defs.h" -#include "nema_graphics.h" - -#ifdef __cplusplus -extern "C" { -#endif - -// Blending Factor Selector -//----------------------------------------------------------------------------------------------------------------------- -#define NEMA_BF_ZERO (0x0U) /**< 0 */ -#define NEMA_BF_ONE (0x1U) /**< 1 */ -#define NEMA_BF_SRCCOLOR (0x2U) /**< Sc */ -#define NEMA_BF_INVSRCCOLOR (0x3U) /**< (1-Sc) */ -#define NEMA_BF_SRCALPHA (0x4U) /**< Sa */ -#define NEMA_BF_INVSRCALPHA (0x5U) /**< (1-Sa) */ -#define NEMA_BF_DESTALPHA (0x6U) /**< Da */ -#define NEMA_BF_INVDESTALPHA (0x7U) /**< (1-Da) */ -#define NEMA_BF_DESTCOLOR (0x8U) /**< Dc */ -#define NEMA_BF_INVDESTCOLOR (0x9U) /**< (1-Dc) */ -#define NEMA_BF_CONSTCOLOR (0xaU) /**< Cc */ -#define NEMA_BF_CONSTALPHA (0xbU) /**< Ca */ - - /* source factor destination factor */ -#define NEMA_BL_SIMPLE ( (uint32_t)NEMA_BF_SRCALPHA | ((uint32_t)NEMA_BF_INVSRCALPHA <<8) ) /**< Sa * Sa + Da * (1 - Sa) */ -#define NEMA_BL_CLEAR ( (uint32_t)NEMA_BF_ZERO /*| ((uint32_t)NEMA_BF_ZERO <<8)*/) /**< 0 */ -#define NEMA_BL_SRC ( (uint32_t)NEMA_BF_ONE /*| ((uint32_t)NEMA_BF_ZERO <<8)*/) /**< Sa */ -#define NEMA_BL_SRC_OVER ( (uint32_t)NEMA_BF_ONE | ((uint32_t)NEMA_BF_INVSRCALPHA <<8) ) /**< Sa + Da * (1 - Sa) */ -#define NEMA_BL_DST_OVER ( (uint32_t)NEMA_BF_INVDESTALPHA | ((uint32_t)NEMA_BF_ONE <<8) ) /**< Sa * (1 - Da) + Da */ -#define NEMA_BL_SRC_IN ( (uint32_t)NEMA_BF_DESTALPHA /*| ((uint32_t)NEMA_BF_ZERO <<8)*/) /**< Sa * Da */ -#define NEMA_BL_DST_IN (/*(uint32_t)NEMA_BF_ZERO |*/ ((uint32_t)NEMA_BF_SRCALPHA <<8) ) /**< Da * Sa */ -#define NEMA_BL_SRC_OUT ( (uint32_t)NEMA_BF_INVDESTALPHA/*| ((uint32_t)NEMA_BF_ZERO <<8)*/ ) /**< Sa * (1 - Da) */ -#define NEMA_BL_DST_OUT (/*(uint32_t)NEMA_BF_ZERO |*/ ((uint32_t)NEMA_BF_INVSRCALPHA <<8) ) /**< Da * (1 - Sa) */ -#define NEMA_BL_SRC_ATOP ( (uint32_t)NEMA_BF_DESTALPHA | ((uint32_t)NEMA_BF_INVSRCALPHA <<8) ) /**< Sa * Da + Da * (1 - Sa) */ -#define NEMA_BL_DST_ATOP ( (uint32_t)NEMA_BF_INVDESTALPHA | ((uint32_t)NEMA_BF_SRCALPHA <<8) ) /**< Sa * (1 - Da) + Da * Sa */ -#define NEMA_BL_ADD ( (uint32_t)NEMA_BF_ONE | ((uint32_t)NEMA_BF_ONE <<8) ) /**< Sa + Da */ -#define NEMA_BL_XOR ( (uint32_t)NEMA_BF_INVDESTALPHA | ((uint32_t)NEMA_BF_INVSRCALPHA <<8) ) /**< Sa * (1 - Da) + Da * (1 - Sa) */ - - -#define NEMA_BLOP_NONE (0U) /**< No extra blending operation */ -#define NEMA_BLOP_LUT (0x00200000U) /**< src_tex as index, src2_tex as palette */ -#define NEMA_BLOP_STENCIL_XY (0x00400000U) /**< Use TEX3 as mask */ -#define NEMA_BLOP_STENCIL_TXTY (0x00800000U) /**< Use TEX3 as mask */ -#define NEMA_BLOP_NO_USE_ROPBL (0x01000000U) /**< Don't use Rop Blender even if present */ -#define NEMA_BLOP_DST_CKEY_NEG (0x02000000U) /**< Apply Inverse Destination Color Keying - draw only when dst color doesn't match colorkey*/ -#define NEMA_BLOP_SRC_PREMULT (0x04000000U) /**< Premultiply Source Color with Source Alpha (cannot be used with NEMA_BLOP_MODULATE_RGB) */ -#define NEMA_BLOP_MODULATE_A (0x08000000U) /**< Modulate by Constant Alpha value*/ -#define NEMA_BLOP_FORCE_A (0x10000000U) /**< Force Constant Alpha value */ -#define NEMA_BLOP_MODULATE_RGB (0x20000000U) /**< Modulate by Constant Color (RGB) values */ -#define NEMA_BLOP_SRC_CKEY (0x40000000U) /**< Apply Source Color Keying - draw only when src color doesn't match colorkey */ -#define NEMA_BLOP_DST_CKEY (0x80000000U) /**< Apply Destination Color Keying - draw only when dst color matches colorkey */ -#define NEMA_BLOP_MASK (0xffe00000U) - -/** \brief Return blending mode given source and destination blending factors and additional blending operations - * - * \param src Source Blending Factor - * \param dst Destination Blending Factor - * \param ops Additional Blending Operations - * \return Final Blending Mode - * - */ -static inline uint32_t nema_blending_mode(uint32_t src_bf, uint32_t dst_bf, uint32_t blops) { - return ( (src_bf) | (dst_bf << 8) | (blops&NEMA_BLOP_MASK) ); -} - -/** \brief Set blending mode - * - * \param blending_mode Blending mode to be set - * \param dst_tex Destination Texture - * \param fg_tex Foreground (source) Texture - * \param bg_tex Background (source2) Texture - * - */ -void nema_set_blend(uint32_t blending_mode, nema_tex_t dst_tex, nema_tex_t fg_tex, nema_tex_t bg_tex); - -/** \brief Set blending mode for filling - * - * \param blending_mode Blending mode to be set - * - */ -static inline void nema_set_blend_fill(uint32_t blending_mode) { - nema_set_blend(blending_mode, NEMA_TEX0, NEMA_NOTEX, NEMA_NOTEX); -} - -/** \brief Set blending mode for filling with composing - * - * \param blending_mode Blending mode to be set - * - */ -static inline void nema_set_blend_fill_compose(uint32_t blending_mode) { - nema_set_blend(blending_mode, NEMA_TEX0, NEMA_NOTEX, NEMA_TEX2); -} - -/** \brief Set blending mode for blitting - * - * \param blending_mode Blending mode to be set - * - */ -static inline void nema_set_blend_blit(uint32_t blending_mode) { - nema_set_blend(blending_mode, NEMA_TEX0, NEMA_TEX1, NEMA_NOTEX); -} - -/** \brief Set blending mode for blitting with composing - * - * \param blending_mode Blending mode to be set - * - */ -static inline void nema_set_blend_blit_compose(uint32_t blending_mode) { - nema_set_blend(blending_mode, NEMA_TEX0, NEMA_TEX1, NEMA_TEX2); -} - -/** \brief Set constant color - * - * \param rgba RGBA color - * \see nema_rgba() - * - */ -void nema_set_const_color(uint32_t rgba); - -/** \brief Set source color key - * - * \param rgba RGBA color key - * \see nema_rgba() - * - */ -void nema_set_src_color_key(uint32_t rgba); - -/** \brief Set destination color key - * - * \param rgba RGBA color key - * \see nema_rgba() - * - */ -void nema_set_dst_color_key(uint32_t rgba); - - -/** \brief Enable/disable ovedraw debugging. Disables gradient and texture, forces blending mode to NEMA_BL_ADD - * - * \param enable Enables overdraw debugging if non-zero - * - */ -void nema_debug_overdraws(uint32_t enable); - -#ifdef __cplusplus -} -#endif - -#endif // NEMA_BLENDER_H__ +/* TSI 2023.xmo */ +/******************************************************************************* + * Copyright (c) 2023 Think Silicon Single Member PC + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this header file and/or associated documentation files to use, copy, + * modify, merge, publish, distribute, sublicense, and/or sell copies of the + * Materials, and to permit persons to whom the Materials are furnished to do + * so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Materials. + * + * MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS + * NEMAGFX API. THE UNMODIFIED, NORMATIVE VERSIONS OF THINK-SILICON NEMAGFX + * SPECIFICATIONS AND HEADER INFORMATION ARE LOCATED AT: + * https://think-silicon.com/products/software/nemagfx-api + * + * The software is provided 'as is', without warranty of any kind, express or + * implied, including but not limited to the warranties of merchantability, + * fitness for a particular purpose and noninfringement. In no event shall + * Think Silicon Single Member PC be liable for any claim, damages or other + * liability, whether in an action of contract, tort or otherwise, arising + * from, out of or in connection with the software or the use or other dealings + * in the software. + ******************************************************************************/ + + +#ifndef NEMA_BLENDER_H__ +#define NEMA_BLENDER_H__ + +#include "nema_sys_defs.h" +#include "nema_graphics.h" + +#ifdef __cplusplus +extern "C" { +#endif + +// Blending Factor Selector +//----------------------------------------------------------------------------------------------------------------------- +#define NEMA_BF_ZERO (0x0U) /**< 0 */ +#define NEMA_BF_ONE (0x1U) /**< 1 */ +#define NEMA_BF_SRCCOLOR (0x2U) /**< Sc */ +#define NEMA_BF_INVSRCCOLOR (0x3U) /**< (1-Sc) */ +#define NEMA_BF_SRCALPHA (0x4U) /**< Sa */ +#define NEMA_BF_INVSRCALPHA (0x5U) /**< (1-Sa) */ +#define NEMA_BF_DESTALPHA (0x6U) /**< Da */ +#define NEMA_BF_INVDESTALPHA (0x7U) /**< (1-Da) */ +#define NEMA_BF_DESTCOLOR (0x8U) /**< Dc */ +#define NEMA_BF_INVDESTCOLOR (0x9U) /**< (1-Dc) */ +#define NEMA_BF_CONSTCOLOR (0xaU) /**< Cc */ +#define NEMA_BF_CONSTALPHA (0xbU) /**< Ca */ + + /* source factor destination factor */ +#define NEMA_BL_SIMPLE ( (uint32_t)NEMA_BF_SRCALPHA | ((uint32_t)NEMA_BF_INVSRCALPHA <<8) ) /**< Sa * Sa + Da * (1 - Sa) */ +#define NEMA_BL_CLEAR ( (uint32_t)NEMA_BF_ZERO /*| ((uint32_t)NEMA_BF_ZERO <<8)*/) /**< 0 */ +#define NEMA_BL_SRC ( (uint32_t)NEMA_BF_ONE /*| ((uint32_t)NEMA_BF_ZERO <<8)*/) /**< Sa */ +#define NEMA_BL_SRC_OVER ( (uint32_t)NEMA_BF_ONE | ((uint32_t)NEMA_BF_INVSRCALPHA <<8) ) /**< Sa + Da * (1 - Sa) */ +#define NEMA_BL_DST_OVER ( (uint32_t)NEMA_BF_INVDESTALPHA | ((uint32_t)NEMA_BF_ONE <<8) ) /**< Sa * (1 - Da) + Da */ +#define NEMA_BL_SRC_IN ( (uint32_t)NEMA_BF_DESTALPHA /*| ((uint32_t)NEMA_BF_ZERO <<8)*/) /**< Sa * Da */ +#define NEMA_BL_DST_IN (/*(uint32_t)NEMA_BF_ZERO |*/ ((uint32_t)NEMA_BF_SRCALPHA <<8) ) /**< Da * Sa */ +#define NEMA_BL_SRC_OUT ( (uint32_t)NEMA_BF_INVDESTALPHA/*| ((uint32_t)NEMA_BF_ZERO <<8)*/ ) /**< Sa * (1 - Da) */ +#define NEMA_BL_DST_OUT (/*(uint32_t)NEMA_BF_ZERO |*/ ((uint32_t)NEMA_BF_INVSRCALPHA <<8) ) /**< Da * (1 - Sa) */ +#define NEMA_BL_SRC_ATOP ( (uint32_t)NEMA_BF_DESTALPHA | ((uint32_t)NEMA_BF_INVSRCALPHA <<8) ) /**< Sa * Da + Da * (1 - Sa) */ +#define NEMA_BL_DST_ATOP ( (uint32_t)NEMA_BF_INVDESTALPHA | ((uint32_t)NEMA_BF_SRCALPHA <<8) ) /**< Sa * (1 - Da) + Da * Sa */ +#define NEMA_BL_ADD ( (uint32_t)NEMA_BF_ONE | ((uint32_t)NEMA_BF_ONE <<8) ) /**< Sa + Da */ +#define NEMA_BL_XOR ( (uint32_t)NEMA_BF_INVDESTALPHA | ((uint32_t)NEMA_BF_INVSRCALPHA <<8) ) /**< Sa * (1 - Da) + Da * (1 - Sa) */ + + +#define NEMA_BLOP_NONE (0U) /**< No extra blending operation */ +#define NEMA_BLOP_RECOLOR (0x00100000U) /**< Cconst*Aconst + Csrc*(1-Aconst). Overrides MODULATE_RGB. On NemaP GPU, recolor is available only when HW Rop Blender is enabled */ +#define NEMA_BLOP_LUT (0x00200000U) /**< src_tex as index, src2_tex as palette */ +#define NEMA_BLOP_STENCIL_XY (0x00400000U) /**< Use TEX3 as mask */ +#define NEMA_BLOP_STENCIL_TXTY (0x00800000U) /**< Use TEX3 as mask */ +#define NEMA_BLOP_NO_USE_ROPBL (0x01000000U) /**< Don't use Rop Blender even if present */ +#define NEMA_BLOP_DST_CKEY_NEG (0x02000000U) /**< Apply Inverse Destination Color Keying - draw only when dst color doesn't match colorkey*/ +#define NEMA_BLOP_SRC_PREMULT (0x04000000U) /**< Premultiply Source Color with Source Alpha (cannot be used with NEMA_BLOP_MODULATE_RGB) */ +#define NEMA_BLOP_MODULATE_A (0x08000000U) /**< Modulate by Constant Alpha value*/ +#define NEMA_BLOP_FORCE_A (0x10000000U) /**< Force Constant Alpha value */ +#define NEMA_BLOP_MODULATE_RGB (0x20000000U) /**< Modulate by Constant Color (RGB) values */ +#define NEMA_BLOP_SRC_CKEY (0x40000000U) /**< Apply Source Color Keying - draw only when src color doesn't match colorkey */ +#define NEMA_BLOP_DST_CKEY (0x80000000U) /**< Apply Destination Color Keying - draw only when dst color matches colorkey */ +#define NEMA_BLOP_MASK (0xfff00000U) + +/** \brief Return blending mode given source and destination blending factors and additional blending operations + * + * \param src Source Blending Factor + * \param dst Destination Blending Factor + * \param ops Additional Blending Operations + * \return Final Blending Mode + * + */ +static inline uint32_t nema_blending_mode(uint32_t src_bf, uint32_t dst_bf, uint32_t blops) { + return ( (src_bf) | (dst_bf << 8) | (blops&NEMA_BLOP_MASK) ); +} + +/** \brief Set blending mode + * + * \param blending_mode Blending mode to be set + * \param dst_tex Destination Texture + * \param fg_tex Foreground (source) Texture + * \param bg_tex Background (source2) Texture + * + */ +void nema_set_blend(uint32_t blending_mode, nema_tex_t dst_tex, nema_tex_t fg_tex, nema_tex_t bg_tex); + +/** \brief Set blending mode for filling + * + * \param blending_mode Blending mode to be set + * + */ +static inline void nema_set_blend_fill(uint32_t blending_mode) { + nema_set_blend(blending_mode, NEMA_TEX0, NEMA_NOTEX, NEMA_NOTEX); +} + +/** \brief Set blending mode for filling with composing + * + * \param blending_mode Blending mode to be set + * + */ +static inline void nema_set_blend_fill_compose(uint32_t blending_mode) { + nema_set_blend(blending_mode, NEMA_TEX0, NEMA_NOTEX, NEMA_TEX2); +} + +/** \brief Set blending mode for blitting + * + * \param blending_mode Blending mode to be set + * + */ +static inline void nema_set_blend_blit(uint32_t blending_mode) { + nema_set_blend(blending_mode, NEMA_TEX0, NEMA_TEX1, NEMA_NOTEX); +} + +/** \brief Set blending mode for blitting with composing + * + * \param blending_mode Blending mode to be set + * + */ +static inline void nema_set_blend_blit_compose(uint32_t blending_mode) { + nema_set_blend(blending_mode, NEMA_TEX0, NEMA_TEX1, NEMA_TEX2); +} + +/** \brief Set constant color + * + * \param rgba RGBA color + * \see nema_rgba() + * + */ +void nema_set_const_color(uint32_t rgba); + + +/** \brief Set recolor color. Overrides constant color + * + * \param rgba RGBA color + * \see nema_rgba(), nema_set_const_color() + * + */ +void nema_set_recolor_color(uint32_t rgba); + +/** \brief Set source color key + * + * \param rgba RGBA color key + * \see nema_rgba() + * + */ +void nema_set_src_color_key(uint32_t rgba); + +/** \brief Set destination color key + * + * \param rgba RGBA color key + * \see nema_rgba() + * + */ +void nema_set_dst_color_key(uint32_t rgba); + + +/** \brief Enable/disable ovedraw debugging. Disables gradient and texture, forces blending mode to NEMA_BL_ADD + * + * \param enable Enables overdraw debugging if non-zero + * + */ +void nema_debug_overdraws(uint32_t enable); + +#ifdef __cplusplus +} +#endif + +#endif // NEMA_BLENDER_H__ diff --git a/libs/nema_gfx/include/nema_cmdlist.h b/libs/nema_gfx/include/nema_cmdlist.h index 1f13adef3..2f2de1aaf 100644 --- a/libs/nema_gfx/include/nema_cmdlist.h +++ b/libs/nema_gfx/include/nema_cmdlist.h @@ -1,208 +1,208 @@ -/* TSI 2023.xmo */ -/******************************************************************************* - * Copyright (c) 2023 Think Silicon Single Member PC - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this header file and/or associated documentation files to use, copy, - * modify, merge, publish, distribute, sublicense, and/or sell copies of the - * Materials, and to permit persons to whom the Materials are furnished to do - * so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Materials. - * - * MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS - * NEMAGFX API. THE UNMODIFIED, NORMATIVE VERSIONS OF THINK-SILICON NEMAGFX - * SPECIFICATIONS AND HEADER INFORMATION ARE LOCATED AT: - * https://think-silicon.com/products/software/nemagfx-api - * - * The software is provided 'as is', without warranty of any kind, express or - * implied, including but not limited to the warranties of merchantability, - * fitness for a particular purpose and noninfringement. In no event shall - * Think Silicon Single Member PC be liable for any claim, damages or other - * liability, whether in an action of contract, tort or otherwise, arising - * from, out of or in connection with the software or the use or other dealings - * in the software. - ******************************************************************************/ - - -#ifndef NEMA_CMDLIST_H__ -#define NEMA_CMDLIST_H__ - -#include "nema_sys_defs.h" -#include "nema_hal.h" - -#ifdef __cplusplus -extern "C" { -#endif - -#define CL_NOP 0x010000U -#define CL_PUSH 0x020000U -#define CL_RETURN 0x040000U -#define CL_ABORT 0x080000U - -#define CL_BATCH_SHIFT 12 -#define CL_BATCH_LOOP 0x8000 - -#define SUBMISSION_ID_MASK 0xffffff - -#define CL_ALIGNMENT_MASK (0x00000007U) // CL buffer must be 8 byte aligned - -//--------------------------------------------------------------------------- -typedef struct nema_cmdlist_t_ { - nema_buffer_t bo; - int size; /**< Number of entries in the command list */ - int offset; /**< Points to the next address to write */ - uint32_t flags; /**< Flags */ - int32_t submission_id; - struct nema_cmdlist_t_ *next; /**< Points to next command list */ - struct nema_cmdlist_t_ *root; /**< Points to the head of the list */ -} nema_cmdlist_t; - -/** \brief Create a new Command List into a preallocated space - * - * \param addr_virt Command List's address (preallocated) - * \param size_bytes Command List's size in bytes - * \return The instance of the new Command List - * - */ -nema_cmdlist_t nema_cl_create_prealloc(nema_buffer_t *bo); - -/** \brief Create a new, non expandable Command List of specific size - * - * \param size_bytes Command List's size in bytes - * \return The instance of the new Command List - * - */ -nema_cmdlist_t nema_cl_create_sized(int size_bytes); - -/** \brief Create a new expandable Command List - * - * \return The instance of the new Command List - * - */ -nema_cmdlist_t nema_cl_create(void); - -/** \brief Destroy/Free a Command List - * - * \param cl Pointer to the Command List - * - */ -void nema_cl_destroy(nema_cmdlist_t *cl); - -/** \brief Reset position of next command to be written to the beginning. Doesn't clear the List's contents. - * - * \param cl Pointer to the Command List - * - */ -void nema_cl_rewind(nema_cmdlist_t *cl); - -/** \brief Define in which Command List each subsequent commands are going to be inserted. - * - * \param cl Pointer to the Command List - * - */ -void nema_cl_bind(nema_cmdlist_t *cl); - -/** \brief Define in which Command List each subsequent commands are going to be inserted. - * Bind this command list as Circular. It never gets full, it never expands, - * it may get implicitly submitted, it cannot be reused. No other CL should be submitted - * while a circular CL is bound - * - * \param cl Pointer to the Command List - * - */ -void nema_cl_bind_circular(nema_cmdlist_t *cl); - -/** \brief Unbind current bound Command List, if any. - * - * - */ -void nema_cl_unbind(void); - - -/** \brief Get bound Command List - * - * \return Pointer to the bound Command List - * - */ -nema_cmdlist_t *nema_cl_get_bound(void); - -/** \private */ -void nema_cl_submit_no_irq(nema_cmdlist_t *cl); - -/** \brief Enqueue Command List to the Ring Buffer for execution - * - * \param cl Pointer to the Command List - * - */ -void nema_cl_submit(nema_cmdlist_t *cl); - -/** \brief Wait for Command List to finish - * - * \param cl Pointer to the Command List - * \return 0 if no error has occurred - * - */ -int nema_cl_wait(nema_cmdlist_t *cl); - -/** \brief Add a command to the bound Command List - * - * \param reg Hardware register to be written - * \param data Data to be written - * - */ -void nema_cl_add_cmd(uint32_t reg, uint32_t data); - -/** \brief Add multiple commands to the bound Command List - * - * \param cmd_no Numbers of commands to add - * \param cmd Pointer to the commands to be added - * \return 0 if no error has occurred - * - */ -int nema_cl_add_multiple_cmds(int cmd_no, uint32_t *cmd); - -/** private */ -uint32_t * nema_cl_get_space(int cmd_no); - -/** \brief Branch from the bound Command List to a different one. Return is implied. - * - * \param cl Pointer to the Command List to branch to - * - */ -void nema_cl_branch(nema_cmdlist_t *cl); - -/** \brief Jump from the bound Command List to a different one. No return is implied. - * - * \param cl Pointer to the Command List to jump to - * - */ -void nema_cl_jump(nema_cmdlist_t *cl); - -/** \brief Add an explicit return command to the bound Command List - * - * - */ -void nema_cl_return(void); - -/** \brief Returns positive number if the Command List is almost full, otherwise returns 0. - * - * \param cl Pointer to the Command List - * - */ -int nema_cl_almost_full(nema_cmdlist_t *cl); - -/** \brief Check if there is enough space or expansion can be performed for - * required commands. - * - * \param cmd_no Numbers of commands to be checked if they fit - * \reurn zero is commands fit or expansion xan be performed else return negative - */ -int nema_cl_enough_space(int cmd_no); - -#ifdef __cplusplus -} -#endif - -#endif +/* TSI 2023.xmo */ +/******************************************************************************* + * Copyright (c) 2023 Think Silicon Single Member PC + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this header file and/or associated documentation files to use, copy, + * modify, merge, publish, distribute, sublicense, and/or sell copies of the + * Materials, and to permit persons to whom the Materials are furnished to do + * so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Materials. + * + * MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS + * NEMAGFX API. THE UNMODIFIED, NORMATIVE VERSIONS OF THINK-SILICON NEMAGFX + * SPECIFICATIONS AND HEADER INFORMATION ARE LOCATED AT: + * https://think-silicon.com/products/software/nemagfx-api + * + * The software is provided 'as is', without warranty of any kind, express or + * implied, including but not limited to the warranties of merchantability, + * fitness for a particular purpose and noninfringement. In no event shall + * Think Silicon Single Member PC be liable for any claim, damages or other + * liability, whether in an action of contract, tort or otherwise, arising + * from, out of or in connection with the software or the use or other dealings + * in the software. + ******************************************************************************/ + + +#ifndef NEMA_CMDLIST_H__ +#define NEMA_CMDLIST_H__ + +#include "nema_sys_defs.h" +#include "nema_hal.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#define CL_NOP 0x010000U +#define CL_PUSH 0x020000U +#define CL_RETURN 0x040000U +#define CL_ABORT 0x080000U + +#define CL_BATCH_SHIFT 12 +#define CL_BATCH_LOOP 0x8000 + +#define SUBMISSION_ID_MASK 0xffffff + +#define CL_ALIGNMENT_MASK (0x00000007U) // CL buffer must be 8 byte aligned + +//--------------------------------------------------------------------------- +typedef struct nema_cmdlist_t_ { + nema_buffer_t bo; + int size; /**< Number of entries in the command list */ + int offset; /**< Points to the next address to write */ + uint32_t flags; /**< Flags */ + int32_t submission_id; + struct nema_cmdlist_t_ *next; /**< Points to next command list */ + struct nema_cmdlist_t_ *root; /**< Points to the head of the list */ +} nema_cmdlist_t; + +/** \brief Create a new Command List into a preallocated space + * + * \param addr_virt Command List's address (preallocated) + * \param size_bytes Command List's size in bytes + * \return The instance of the new Command List + * + */ +nema_cmdlist_t nema_cl_create_prealloc(nema_buffer_t *bo); + +/** \brief Create a new, non expandable Command List of specific size + * + * \param size_bytes Command List's size in bytes + * \return The instance of the new Command List + * + */ +nema_cmdlist_t nema_cl_create_sized(int size_bytes); + +/** \brief Create a new expandable Command List + * + * \return The instance of the new Command List + * + */ +nema_cmdlist_t nema_cl_create(void); + +/** \brief Destroy/Free a Command List + * + * \param cl Pointer to the Command List + * + */ +void nema_cl_destroy(nema_cmdlist_t *cl); + +/** \brief Reset position of next command to be written to the beginning. Doesn't clear the List's contents. + * + * \param cl Pointer to the Command List + * + */ +void nema_cl_rewind(nema_cmdlist_t *cl); + +/** \brief Define in which Command List each subsequent commands are going to be inserted. + * + * \param cl Pointer to the Command List + * + */ +void nema_cl_bind(nema_cmdlist_t *cl); + +/** \brief Define in which Command List each subsequent commands are going to be inserted. + * Bind this command list as Circular. It never gets full, it never expands, + * it may get implicitly submitted, it cannot be reused. No other CL should be submitted + * while a circular CL is bound + * + * \param cl Pointer to the Command List + * + */ +void nema_cl_bind_circular(nema_cmdlist_t *cl); + +/** \brief Unbind current bound Command List, if any. + * + * + */ +void nema_cl_unbind(void); + + +/** \brief Get bound Command List + * + * \return Pointer to the bound Command List + * + */ +nema_cmdlist_t *nema_cl_get_bound(void); + +/** \private */ +void nema_cl_submit_no_irq(nema_cmdlist_t *cl); + +/** \brief Enqueue Command List to the Ring Buffer for execution + * + * \param cl Pointer to the Command List + * + */ +void nema_cl_submit(nema_cmdlist_t *cl); + +/** \brief Wait for Command List to finish + * + * \param cl Pointer to the Command List + * \return 0 if no error has occurred + * + */ +int nema_cl_wait(nema_cmdlist_t *cl); + +/** \brief Add a command to the bound Command List + * + * \param reg Hardware register to be written + * \param data Data to be written + * + */ +void nema_cl_add_cmd(uint32_t reg, uint32_t data); + +/** \brief Add multiple commands to the bound Command List + * + * \param cmd_no Numbers of commands to add + * \param cmd Pointer to the commands to be added + * \return 0 if no error has occurred + * + */ +int nema_cl_add_multiple_cmds(int cmd_no, uint32_t *cmd); + +/** private */ +uint32_t * nema_cl_get_space(int cmd_no); + +/** \brief Branch from the bound Command List to a different one. Return is implied. + * + * \param cl Pointer to the Command List to branch to + * + */ +void nema_cl_branch(nema_cmdlist_t *cl); + +/** \brief Jump from the bound Command List to a different one. No return is implied. + * + * \param cl Pointer to the Command List to jump to + * + */ +void nema_cl_jump(nema_cmdlist_t *cl); + +/** \brief Add an explicit return command to the bound Command List + * + * + */ +void nema_cl_return(void); + +/** \brief Returns positive number if the Command List is almost full, otherwise returns 0. + * + * \param cl Pointer to the Command List + * + */ +int nema_cl_almost_full(nema_cmdlist_t *cl); + +/** \brief Check if there is enough space or expansion can be performed for + * required commands. + * + * \param cmd_no Numbers of commands to be checked if they fit + * \reurn zero is commands fit or expansion xan be performed else return negative + */ +int nema_cl_enough_space(int cmd_no); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/libs/nema_gfx/include/nema_core.h b/libs/nema_gfx/include/nema_core.h index 2942e9ece..2cb73a17b 100644 --- a/libs/nema_gfx/include/nema_core.h +++ b/libs/nema_gfx/include/nema_core.h @@ -1,41 +1,42 @@ -/* TSI 2023.xmo */ -/******************************************************************************* - * Copyright (c) 2023 Think Silicon Single Member PC - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this header file and/or associated documentation files to use, copy, - * modify, merge, publish, distribute, sublicense, and/or sell copies of the - * Materials, and to permit persons to whom the Materials are furnished to do - * so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Materials. - * - * MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS - * NEMAGFX API. THE UNMODIFIED, NORMATIVE VERSIONS OF THINK-SILICON NEMAGFX - * SPECIFICATIONS AND HEADER INFORMATION ARE LOCATED AT: - * https://think-silicon.com/products/software/nemagfx-api - * - * The software is provided 'as is', without warranty of any kind, express or - * implied, including but not limited to the warranties of merchantability, - * fitness for a particular purpose and noninfringement. In no event shall - * Think Silicon Single Member PC be liable for any claim, damages or other - * liability, whether in an action of contract, tort or otherwise, arising - * from, out of or in connection with the software or the use or other dealings - * in the software. - ******************************************************************************/ - - -#ifndef NEMA_CORE_H__ -#define NEMA_CORE_H__ - -#include "nema_hal.h" -#include "nema_cmdlist.h" -#include "nema_graphics.h" -#include "nema_interpolators.h" -#include "nema_blender.h" -#include "nema_math.h" -#include "nema_matrix3x3.h" -#include "nema_matrix4x4.h" - -#endif +/* TSI 2023.xmo */ +/******************************************************************************* + * Copyright (c) 2023 Think Silicon Single Member PC + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this header file and/or associated documentation files to use, copy, + * modify, merge, publish, distribute, sublicense, and/or sell copies of the + * Materials, and to permit persons to whom the Materials are furnished to do + * so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Materials. + * + * MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS + * NEMAGFX API. THE UNMODIFIED, NORMATIVE VERSIONS OF THINK-SILICON NEMAGFX + * SPECIFICATIONS AND HEADER INFORMATION ARE LOCATED AT: + * https://think-silicon.com/products/software/nemagfx-api + * + * The software is provided 'as is', without warranty of any kind, express or + * implied, including but not limited to the warranties of merchantability, + * fitness for a particular purpose and noninfringement. In no event shall + * Think Silicon Single Member PC be liable for any claim, damages or other + * liability, whether in an action of contract, tort or otherwise, arising + * from, out of or in connection with the software or the use or other dealings + * in the software. + ******************************************************************************/ + + +#ifndef NEMA_CORE_H__ +#define NEMA_CORE_H__ + +#include "nema_hal.h" +#include "nema_cmdlist.h" +#include "nema_graphics.h" +#include "nema_interpolators.h" +#include "nema_blender.h" +#include "nema_math.h" +#include "nema_matrix3x3.h" +#include "nema_matrix4x4.h" +#include "nema_version.h" + +#endif diff --git a/libs/nema_gfx/include/nema_easing.h b/libs/nema_gfx/include/nema_easing.h index 936b1c0c2..bf289383c 100644 --- a/libs/nema_gfx/include/nema_easing.h +++ b/libs/nema_gfx/include/nema_easing.h @@ -1,369 +1,369 @@ -/* TSI 2023.xmo */ -/******************************************************************************* - * Copyright (c) 2023 Think Silicon Single Member PC - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this header file and/or associated documentation files to use, copy, - * modify, merge, publish, distribute, sublicense, and/or sell copies of the - * Materials, and to permit persons to whom the Materials are furnished to do - * so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Materials. - * - * MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS - * NEMAGFX API. THE UNMODIFIED, NORMATIVE VERSIONS OF THINK-SILICON NEMAGFX - * SPECIFICATIONS AND HEADER INFORMATION ARE LOCATED AT: - * https://think-silicon.com/products/software/nemagfx-api - * - * The software is provided 'as is', without warranty of any kind, express or - * implied, including but not limited to the warranties of merchantability, - * fitness for a particular purpose and noninfringement. In no event shall - * Think Silicon Single Member PC be liable for any claim, damages or other - * liability, whether in an action of contract, tort or otherwise, arising - * from, out of or in connection with the software or the use or other dealings - * in the software. - ******************************************************************************/ - - -#ifndef NEMA_EASING_H__ -#define NEMA_EASING_H__ - -#ifdef __cplusplus -extern "C" { -#endif - -//Linear - -// Modeled after the line y = x -/** \brief Linear easing, no acceleration - * - * \param p Input value, typically within the [0, 1] range - * \return Eased value - * - */ -float nema_ez_linear(float p); - -//Quadratic - -// Modeled after the parabola y = x^2 -/** \brief Quadratic easing in, accelerate from zero - * - * \param p Input value, typically within the [0, 1] range - * \return Eased value - * - */ -float nema_ez_quad_in(float p); - -// Modeled after the parabola y = -x^2 + 2x -/** \brief Quadratic easing out, decelerate to zero velocity - * - * \param p Input value, typically within the [0, 1] range - * \return Eased value - * - */ -float nema_ez_quad_out(float p); - -// Modeled after the piecewise quadratic -// y = (1/2)((2x)^2) ; [0, 0.5) -// y = -(1/2)((2x-1)*(2x-3) - 1) ; [0.5, 1] -/** \brief Quadratic easing in and out, accelerate to halfway, then decelerate - * - * \param p Input value, typically within the [0, 1] range - * \return Eased value - * - */ -float nema_ez_quad_in_out(float p); - -//Cubic - -// Modeled after the cubic y = x^3 -/** \brief Cubic easing in, accelerate from zero - * - * \param p Input value, typically within the [0, 1] range - * \return Eased value - * - */ -float nema_ez_cub_in(float p); - -// Modeled after the cubic y = (x - 1)^3 + 1 -/** \brief Cubic easing out, decelerate to zero velocity - * - * \param p Input value, typically within the [0, 1] range - * \return Eased value - * - */ -float nema_ez_cub_out(float p); - -// Modeled after the piecewise cubic -// y = (1/2)((2x)^3) ; [0, 0.5) -// y = (1/2)((2x-2)^3 + 2) ; [0.5, 1] -/** \brief Cubic easing in and out, accelerate to halfway, then decelerate - * - * \param p Input value, typically within the [0, 1] range - * \return Eased value - * - */ -float nema_ez_cub_in_out(float p); - -//Quartic - -// Modeled after the quartic x^4 -/** \brief Quartic easing in, accelerate from zero - * - * \param p Input value, typically within the [0, 1] range - * \return Eased value - * - */ -float nema_ez_quar_in(float p); - -// Modeled after the quartic y = 1 - (x - 1)^4 -/** \brief Quartic easing out, decelerate to zero velocity - * - * \param p Input value, typically within the [0, 1] range - * \return Eased value - * - */ -float nema_ez_quar_out(float p); - -// Modeled after the piecewise quartic -// y = (1/2)((2x)^4) ; [0, 0.5) -// y = -(1/2)((2x-2)^4 - 2) ; [0.5, 1] -/** \brief Quartic easing in and out, accelerate to halfway, then decelerate - * - * \param p Input value, typically within the [0, 1] range - * \return Eased value - * - */ -float nema_ez_quar_in_out(float p); - -//Quintic - -// Modeled after the quintic y = x^5 -/** \brief Quintic easing in, accelerate from zero - * - * \param p Input value, typically within the [0, 1] range - * \return Eased value - * - */ -float nema_ez_quin_in(float p); - -// Modeled after the quintic y = (x - 1)^5 + 1 -/** \brief Quintic easing out, decelerate to zero velocity - * - * \param p Input value, typically within the [0, 1] range - * \return Eased value - * - */ -float nema_ez_quin_out(float p); - -// Modeled after the piecewise quintic -// y = (1/2)((2x)^5) ; [0, 0.5) -// y = (1/2)((2x-2)^5 + 2) ; [0.5, 1] -/** \brief Quintic easing in and out, accelerate to halfway, then decelerate - * - * \param p Input value, typically within the [0, 1] range - * \return Eased value - * - */ -float nema_ez_quin_in_out(float p); - -//Sin - -// Modeled after quarter-cycle of sine wave -/** \brief Sinusoidal easing in, accelerate from zero - * - * \param p Input value, typically within the [0, 1] range - * \return Eased value - * - */ -float nema_ez_sin_in(float p); - -// Modeled after quarter-cycle of sine wave (different phase) -/** \brief Sinusoidal easing out, decelerate to zero velocity - * - * \param p Input value, typically within the [0, 1] range - * \return Eased value - * - */ -float nema_ez_sin_out(float p); - -// Modeled after half sine wave -/** \brief Sinusoidal easing in and out, accelerate to halfway, then decelerate - * - * \param p Input value, typically within the [0, 1] range - * \return Eased value - * - */ -float nema_ez_sin_in_out(float p); - -//Circular - -// Modeled after shifted quadrant IV of unit circle -/** \brief Circular easing in, accelerate from zero - * - * \param p Input value, typically within the [0, 1] range - * \return Eased value - * - */ -float nema_ez_circ_in(float p); - -// Modeled after shifted quadrant II of unit circle -/** \brief Circular easing out, decelerate to zero velocity - * - * \param p Input value, typically within the [0, 1] range - * \return Eased value - * - */ -float nema_ez_circ_out(float p); - -// Modeled after the piecewise circular function -// y = (1/2)(1 - sqrt(1 - 4x^2)) ; [0, 0.5) -// y = (1/2)(sqrt(-(2x - 3)*(2x - 1)) + 1) ; [0.5, 1] -/** \brief Circular easing in and out, accelerate to halfway, then decelerate - * - * \param p Input value, typically within the [0, 1] range - * \return Eased value - * - */ -float nema_ez_circ_in_out(float p); - -//Exponential - -// Modeled after the exponential function y = 2^(10(x - 1)) -/** \brief Exponential easing in, accelerate from zero - * - * \param p Input value, typically within the [0, 1] range - * \return Eased value - * - */ -float nema_ez_exp_in(float p); - -// Modeled after the exponential function y = -2^(-10x) + 1 -/** \brief Exponential easing out, decelerate to zero velocity - * - * \param p Input value, typically within the [0, 1] range - * \return Eased value - * - */ -float nema_ez_exp_out(float p); - -// Modeled after the piecewise exponential -// y = (1/2)2^(10(2x - 1)) ; [0,0.5) -// y = -(1/2)*2^(-10(2x - 1))) + 1 ; [0.5,1] -/** \brief Exponential easing in and out, accelerate to halfway, then decelerate - * - * \param p Input value, typically within the [0, 1] range - * \return Eased value - * - */ -float nema_ez_exp_in_out(float p); - -//Elastic -// Modeled after the damped sine wave y = sin(13pi/2*x)*pow(2, 10 * (x - 1)) - -/** \brief Elastic easing in, accelerate from zero - * - * \param p Input value, typically within the [0, 1] range - * \return Eased value - * - */ -float nema_ez_elast_in(float p); - -// Modeled after the damped sine wave y = sin(-13pi/2*(x + 1))*pow(2, -10x) + 1 -/** \brief Elastic easing out, decelerate to zero velocity - * - * \param p Input value, typically within the [0, 1] range - * \return Eased value - * - */ -float nema_ez_elast_out(float p); - -// Modeled after the piecewise exponentially-damped sine wave: -// y = (1/2)*sin(13pi/2*(2*x))*pow(2, 10 * ((2*x) - 1)) ; [0,0.5) -// y = (1/2)*(sin(-13pi/2*((2x-1)+1))*pow(2,-10(2*x-1)) + 2) ; [0.5, 1] -/** \brief Elastic easing in and out, accelerate to halfway, then decelerate - * - * \param p Input value, typically within the [0, 1] range - * \return Eased value - * - */ -float nema_ez_elast_in_out(float p); - -//Back - -// Modeled after the overshooting cubic y = x^3-x*sin(x*pi) -/** \brief Overshooting easing in, accelerate from zero - * - * \param p Input value, typically within the [0, 1] range - * \return Eased value - * - */ -float nema_ez_back_in(float p); - -// Modeled after overshooting cubic y = 1-((1-x)^3-(1-x)*sin((1-x)*pi)) -/** \brief Overshooting easing out, decelerate to zero velocity - * - * \param p Input value, typically within the [0, 1] range - * \return Eased value - * - */ -float nema_ez_back_out(float p); - -// Modeled after the piecewise overshooting cubic function: -// y = (1/2)*((2x)^3-(2x)*sin(2*x*pi)) ; [0, 0.5) -// y = (1/2)*(1-((1-x)^3-(1-x)*sin((1-x)*pi))+1) ; [0.5, 1] -/** \brief Overshooting easing in and out, accelerate to halfway, then decelerate - * - * \param p Input value, typically within the [0, 1] range - * \return Eased value - * - */ -float nema_ez_back_in_out(float p); - -//Bounce - -/** \brief Bouncing easing in, accelerate from zero - * - * \param p Input value, typically within the [0, 1] range - * \return Eased value - * - */ -float nema_ez_bounce_out(float p); - -/** \brief Bouncing easing out, decelerate to zero velocity - * - * \param p Input value, typically within the [0, 1] range - * \return Eased value - * - */ -float nema_ez_bounce_in(float p); - -/** \brief Bouncing easing in and out, accelerate to halfway, then decelerate - * - * \param p Input value, typically within the [0, 1] range - * \return Eased value - * - */ -float nema_ez_bounce_in_out(float p); - - -/** \brief Convenience function to perform easing between two values given number of steps, current step and easing function - * - * \param A Initial value within range [0, 1] - * \param B Finale value within range [0, 1] - * \param steps Total number of steps - * \param cur_step Current Step - * \param ez_func pointer to the desired easing function - * \return Eased value - * - */ - - -float nema_ez(float A, float B, float steps, float cur_step, float (*ez_func)(float p)); - -#ifdef __cplusplus -} -#endif - -#endif +/* TSI 2023.xmo */ +/******************************************************************************* + * Copyright (c) 2023 Think Silicon Single Member PC + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this header file and/or associated documentation files to use, copy, + * modify, merge, publish, distribute, sublicense, and/or sell copies of the + * Materials, and to permit persons to whom the Materials are furnished to do + * so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Materials. + * + * MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS + * NEMAGFX API. THE UNMODIFIED, NORMATIVE VERSIONS OF THINK-SILICON NEMAGFX + * SPECIFICATIONS AND HEADER INFORMATION ARE LOCATED AT: + * https://think-silicon.com/products/software/nemagfx-api + * + * The software is provided 'as is', without warranty of any kind, express or + * implied, including but not limited to the warranties of merchantability, + * fitness for a particular purpose and noninfringement. In no event shall + * Think Silicon Single Member PC be liable for any claim, damages or other + * liability, whether in an action of contract, tort or otherwise, arising + * from, out of or in connection with the software or the use or other dealings + * in the software. + ******************************************************************************/ + + +#ifndef NEMA_EASING_H__ +#define NEMA_EASING_H__ + +#ifdef __cplusplus +extern "C" { +#endif + +//Linear + +// Modeled after the line y = x +/** \brief Linear easing, no acceleration + * + * \param p Input value, typically within the [0, 1] range + * \return Eased value + * + */ +float nema_ez_linear(float p); + +//Quadratic + +// Modeled after the parabola y = x^2 +/** \brief Quadratic easing in, accelerate from zero + * + * \param p Input value, typically within the [0, 1] range + * \return Eased value + * + */ +float nema_ez_quad_in(float p); + +// Modeled after the parabola y = -x^2 + 2x +/** \brief Quadratic easing out, decelerate to zero velocity + * + * \param p Input value, typically within the [0, 1] range + * \return Eased value + * + */ +float nema_ez_quad_out(float p); + +// Modeled after the piecewise quadratic +// y = (1/2)((2x)^2) ; [0, 0.5) +// y = -(1/2)((2x-1)*(2x-3) - 1) ; [0.5, 1] +/** \brief Quadratic easing in and out, accelerate to halfway, then decelerate + * + * \param p Input value, typically within the [0, 1] range + * \return Eased value + * + */ +float nema_ez_quad_in_out(float p); + +//Cubic + +// Modeled after the cubic y = x^3 +/** \brief Cubic easing in, accelerate from zero + * + * \param p Input value, typically within the [0, 1] range + * \return Eased value + * + */ +float nema_ez_cub_in(float p); + +// Modeled after the cubic y = (x - 1)^3 + 1 +/** \brief Cubic easing out, decelerate to zero velocity + * + * \param p Input value, typically within the [0, 1] range + * \return Eased value + * + */ +float nema_ez_cub_out(float p); + +// Modeled after the piecewise cubic +// y = (1/2)((2x)^3) ; [0, 0.5) +// y = (1/2)((2x-2)^3 + 2) ; [0.5, 1] +/** \brief Cubic easing in and out, accelerate to halfway, then decelerate + * + * \param p Input value, typically within the [0, 1] range + * \return Eased value + * + */ +float nema_ez_cub_in_out(float p); + +//Quartic + +// Modeled after the quartic x^4 +/** \brief Quartic easing in, accelerate from zero + * + * \param p Input value, typically within the [0, 1] range + * \return Eased value + * + */ +float nema_ez_quar_in(float p); + +// Modeled after the quartic y = 1 - (x - 1)^4 +/** \brief Quartic easing out, decelerate to zero velocity + * + * \param p Input value, typically within the [0, 1] range + * \return Eased value + * + */ +float nema_ez_quar_out(float p); + +// Modeled after the piecewise quartic +// y = (1/2)((2x)^4) ; [0, 0.5) +// y = -(1/2)((2x-2)^4 - 2) ; [0.5, 1] +/** \brief Quartic easing in and out, accelerate to halfway, then decelerate + * + * \param p Input value, typically within the [0, 1] range + * \return Eased value + * + */ +float nema_ez_quar_in_out(float p); + +//Quintic + +// Modeled after the quintic y = x^5 +/** \brief Quintic easing in, accelerate from zero + * + * \param p Input value, typically within the [0, 1] range + * \return Eased value + * + */ +float nema_ez_quin_in(float p); + +// Modeled after the quintic y = (x - 1)^5 + 1 +/** \brief Quintic easing out, decelerate to zero velocity + * + * \param p Input value, typically within the [0, 1] range + * \return Eased value + * + */ +float nema_ez_quin_out(float p); + +// Modeled after the piecewise quintic +// y = (1/2)((2x)^5) ; [0, 0.5) +// y = (1/2)((2x-2)^5 + 2) ; [0.5, 1] +/** \brief Quintic easing in and out, accelerate to halfway, then decelerate + * + * \param p Input value, typically within the [0, 1] range + * \return Eased value + * + */ +float nema_ez_quin_in_out(float p); + +//Sin + +// Modeled after quarter-cycle of sine wave +/** \brief Sinusoidal easing in, accelerate from zero + * + * \param p Input value, typically within the [0, 1] range + * \return Eased value + * + */ +float nema_ez_sin_in(float p); + +// Modeled after quarter-cycle of sine wave (different phase) +/** \brief Sinusoidal easing out, decelerate to zero velocity + * + * \param p Input value, typically within the [0, 1] range + * \return Eased value + * + */ +float nema_ez_sin_out(float p); + +// Modeled after half sine wave +/** \brief Sinusoidal easing in and out, accelerate to halfway, then decelerate + * + * \param p Input value, typically within the [0, 1] range + * \return Eased value + * + */ +float nema_ez_sin_in_out(float p); + +//Circular + +// Modeled after shifted quadrant IV of unit circle +/** \brief Circular easing in, accelerate from zero + * + * \param p Input value, typically within the [0, 1] range + * \return Eased value + * + */ +float nema_ez_circ_in(float p); + +// Modeled after shifted quadrant II of unit circle +/** \brief Circular easing out, decelerate to zero velocity + * + * \param p Input value, typically within the [0, 1] range + * \return Eased value + * + */ +float nema_ez_circ_out(float p); + +// Modeled after the piecewise circular function +// y = (1/2)(1 - sqrt(1 - 4x^2)) ; [0, 0.5) +// y = (1/2)(sqrt(-(2x - 3)*(2x - 1)) + 1) ; [0.5, 1] +/** \brief Circular easing in and out, accelerate to halfway, then decelerate + * + * \param p Input value, typically within the [0, 1] range + * \return Eased value + * + */ +float nema_ez_circ_in_out(float p); + +//Exponential + +// Modeled after the exponential function y = 2^(10(x - 1)) +/** \brief Exponential easing in, accelerate from zero + * + * \param p Input value, typically within the [0, 1] range + * \return Eased value + * + */ +float nema_ez_exp_in(float p); + +// Modeled after the exponential function y = -2^(-10x) + 1 +/** \brief Exponential easing out, decelerate to zero velocity + * + * \param p Input value, typically within the [0, 1] range + * \return Eased value + * + */ +float nema_ez_exp_out(float p); + +// Modeled after the piecewise exponential +// y = (1/2)2^(10(2x - 1)) ; [0,0.5) +// y = -(1/2)*2^(-10(2x - 1))) + 1 ; [0.5,1] +/** \brief Exponential easing in and out, accelerate to halfway, then decelerate + * + * \param p Input value, typically within the [0, 1] range + * \return Eased value + * + */ +float nema_ez_exp_in_out(float p); + +//Elastic +// Modeled after the damped sine wave y = sin(13pi/2*x)*pow(2, 10 * (x - 1)) + +/** \brief Elastic easing in, accelerate from zero + * + * \param p Input value, typically within the [0, 1] range + * \return Eased value + * + */ +float nema_ez_elast_in(float p); + +// Modeled after the damped sine wave y = sin(-13pi/2*(x + 1))*pow(2, -10x) + 1 +/** \brief Elastic easing out, decelerate to zero velocity + * + * \param p Input value, typically within the [0, 1] range + * \return Eased value + * + */ +float nema_ez_elast_out(float p); + +// Modeled after the piecewise exponentially-damped sine wave: +// y = (1/2)*sin(13pi/2*(2*x))*pow(2, 10 * ((2*x) - 1)) ; [0,0.5) +// y = (1/2)*(sin(-13pi/2*((2x-1)+1))*pow(2,-10(2*x-1)) + 2) ; [0.5, 1] +/** \brief Elastic easing in and out, accelerate to halfway, then decelerate + * + * \param p Input value, typically within the [0, 1] range + * \return Eased value + * + */ +float nema_ez_elast_in_out(float p); + +//Back + +// Modeled after the overshooting cubic y = x^3-x*sin(x*pi) +/** \brief Overshooting easing in, accelerate from zero + * + * \param p Input value, typically within the [0, 1] range + * \return Eased value + * + */ +float nema_ez_back_in(float p); + +// Modeled after overshooting cubic y = 1-((1-x)^3-(1-x)*sin((1-x)*pi)) +/** \brief Overshooting easing out, decelerate to zero velocity + * + * \param p Input value, typically within the [0, 1] range + * \return Eased value + * + */ +float nema_ez_back_out(float p); + +// Modeled after the piecewise overshooting cubic function: +// y = (1/2)*((2x)^3-(2x)*sin(2*x*pi)) ; [0, 0.5) +// y = (1/2)*(1-((1-x)^3-(1-x)*sin((1-x)*pi))+1) ; [0.5, 1] +/** \brief Overshooting easing in and out, accelerate to halfway, then decelerate + * + * \param p Input value, typically within the [0, 1] range + * \return Eased value + * + */ +float nema_ez_back_in_out(float p); + +//Bounce + +/** \brief Bouncing easing in, accelerate from zero + * + * \param p Input value, typically within the [0, 1] range + * \return Eased value + * + */ +float nema_ez_bounce_out(float p); + +/** \brief Bouncing easing out, decelerate to zero velocity + * + * \param p Input value, typically within the [0, 1] range + * \return Eased value + * + */ +float nema_ez_bounce_in(float p); + +/** \brief Bouncing easing in and out, accelerate to halfway, then decelerate + * + * \param p Input value, typically within the [0, 1] range + * \return Eased value + * + */ +float nema_ez_bounce_in_out(float p); + + +/** \brief Convenience function to perform easing between two values given number of steps, current step and easing function + * + * \param A Initial value within range [0, 1] + * \param B Finale value within range [0, 1] + * \param steps Total number of steps + * \param cur_step Current Step + * \param ez_func pointer to the desired easing function + * \return Eased value + * + */ + + +float nema_ez(float A, float B, float steps, float cur_step, float (*ez_func)(float p)); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/libs/nema_gfx/include/nema_error.h b/libs/nema_gfx/include/nema_error.h index 0bb922811..58ff5b11b 100644 --- a/libs/nema_gfx/include/nema_error.h +++ b/libs/nema_gfx/include/nema_error.h @@ -1,69 +1,69 @@ -/* TSI 2023.xmo */ -/******************************************************************************* - * Copyright (c) 2023 Think Silicon Single Member PC - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this header file and/or associated documentation files to use, copy, - * modify, merge, publish, distribute, sublicense, and/or sell copies of the - * Materials, and to permit persons to whom the Materials are furnished to do - * so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Materials. - * - * MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS - * NEMAGFX API. THE UNMODIFIED, NORMATIVE VERSIONS OF THINK-SILICON NEMAGFX - * SPECIFICATIONS AND HEADER INFORMATION ARE LOCATED AT: - * https://think-silicon.com/products/software/nemagfx-api - * - * The software is provided 'as is', without warranty of any kind, express or - * implied, including but not limited to the warranties of merchantability, - * fitness for a particular purpose and noninfringement. In no event shall - * Think Silicon Single Member PC be liable for any claim, damages or other - * liability, whether in an action of contract, tort or otherwise, arising - * from, out of or in connection with the software or the use or other dealings - * in the software. - ******************************************************************************/ - -#ifndef NEMA_ERROR_H__ -#define NEMA_ERROR_H__ - -#include "nema_sys_defs.h" - -#ifdef __cplusplus -extern "C" { -#endif - -// Error Handling - -#define NEMA_ERR_NO_ERROR (0x00000000U) /**< No error has occured */ -#define NEMA_ERR_SYS_INIT_FAILURE (0x00000001U) /**< System initialization failure */ -#define NEMA_ERR_GPU_ABSENT (0x00000002U) /**< Nema GPU is absent */ -#define NEMA_ERR_RB_INIT_FAILURE (0x00000004U) /**< Ring buffer initialization failure */ -#define NEMA_ERR_NON_EXPANDABLE_CL_FULL (0x00000008U) /**< Non expandable command list is full*/ -#define NEMA_ERR_CL_EXPANSION (0x00000010U) /**< Command list expansion error */ -#define NEMA_ERR_OUT_OF_GFX_MEMORY (0x00000020U) /**< Graphics memory is full */ -#define NEMA_ERR_OUT_OF_HOST_MEMORY (0x00000040U) /**< Host memory is full */ -#define NEMA_ERR_NO_BOUND_CL (0x00000080U) /**< There is no bound command list */ -#define NEMA_ERR_NO_BOUND_FONT (0x00000100U) /**< There is no bound font */ -#define NEMA_ERR_GFX_MEMORY_INIT (0x00000200U) /**< Graphics memory initialization failure */ -#define NEMA_ERR_DRIVER_FAILURE (0x00000400U) /**< Nema GPU Kernel Driver failure*/ -#define NEMA_ERR_MUTEX_INIT (0x00000800U) /**< Mutex initialization failure*/ -#define NEMA_ERR_INVALID_BO (0x00001000U) /**< Invalid buffer provided*/ -#define NEMA_ERR_INVALID_CL (0x00002000U) /**< Invalid CL provided*/ -#define NEMA_ERR_INVALID_CL_ALIGMENT (0x00004000U) /**< Invalid CL buffer alignment*/ -#define NEMA_ERR_NO_INIT (0x00008000U) /**< GFX uninitialised*/ - -/** \brief Return Error Id - * - * \return 0 if no error exists - * - */ -uint32_t nema_get_error(void); - - -#ifdef __cplusplus -} -#endif - -#endif // NEMA_ERROR_H__ +/* TSI 2023.xmo */ +/******************************************************************************* + * Copyright (c) 2023 Think Silicon Single Member PC + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this header file and/or associated documentation files to use, copy, + * modify, merge, publish, distribute, sublicense, and/or sell copies of the + * Materials, and to permit persons to whom the Materials are furnished to do + * so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Materials. + * + * MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS + * NEMAGFX API. THE UNMODIFIED, NORMATIVE VERSIONS OF THINK-SILICON NEMAGFX + * SPECIFICATIONS AND HEADER INFORMATION ARE LOCATED AT: + * https://think-silicon.com/products/software/nemagfx-api + * + * The software is provided 'as is', without warranty of any kind, express or + * implied, including but not limited to the warranties of merchantability, + * fitness for a particular purpose and noninfringement. In no event shall + * Think Silicon Single Member PC be liable for any claim, damages or other + * liability, whether in an action of contract, tort or otherwise, arising + * from, out of or in connection with the software or the use or other dealings + * in the software. + ******************************************************************************/ + +#ifndef NEMA_ERROR_H__ +#define NEMA_ERROR_H__ + +#include "nema_sys_defs.h" + +#ifdef __cplusplus +extern "C" { +#endif + +// Error Handling + +#define NEMA_ERR_NO_ERROR (0x00000000U) /**< No error has occured */ +#define NEMA_ERR_SYS_INIT_FAILURE (0x00000001U) /**< System initialization failure */ +#define NEMA_ERR_GPU_ABSENT (0x00000002U) /**< Nema GPU is absent */ +#define NEMA_ERR_RB_INIT_FAILURE (0x00000004U) /**< Ring buffer initialization failure */ +#define NEMA_ERR_NON_EXPANDABLE_CL_FULL (0x00000008U) /**< Non expandable command list is full*/ +#define NEMA_ERR_CL_EXPANSION (0x00000010U) /**< Command list expansion error */ +#define NEMA_ERR_OUT_OF_GFX_MEMORY (0x00000020U) /**< Graphics memory is full */ +#define NEMA_ERR_OUT_OF_HOST_MEMORY (0x00000040U) /**< Host memory is full */ +#define NEMA_ERR_NO_BOUND_CL (0x00000080U) /**< There is no bound command list */ +#define NEMA_ERR_NO_BOUND_FONT (0x00000100U) /**< There is no bound font */ +#define NEMA_ERR_GFX_MEMORY_INIT (0x00000200U) /**< Graphics memory initialization failure */ +#define NEMA_ERR_DRIVER_FAILURE (0x00000400U) /**< Nema GPU Kernel Driver failure*/ +#define NEMA_ERR_MUTEX_INIT (0x00000800U) /**< Mutex initialization failure*/ +#define NEMA_ERR_INVALID_BO (0x00001000U) /**< Invalid buffer provided*/ +#define NEMA_ERR_INVALID_CL (0x00002000U) /**< Invalid CL provided*/ +#define NEMA_ERR_INVALID_CL_ALIGMENT (0x00004000U) /**< Invalid CL buffer alignment*/ +#define NEMA_ERR_NO_INIT (0x00008000U) /**< GFX uninitialised*/ + +/** \brief Return Error Id + * + * \return 0 if no error exists + * + */ +uint32_t nema_get_error(void); + + +#ifdef __cplusplus +} +#endif + +#endif // NEMA_ERROR_H__ diff --git a/libs/nema_gfx/include/nema_font.h b/libs/nema_gfx/include/nema_font.h index 7ce79db0b..bb5ab1adf 100644 --- a/libs/nema_gfx/include/nema_font.h +++ b/libs/nema_gfx/include/nema_font.h @@ -1,184 +1,184 @@ -/* TSI 2023.xmo */ -/******************************************************************************* - * Copyright (c) 2023 Think Silicon Single Member PC - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this header file and/or associated documentation files to use, copy, - * modify, merge, publish, distribute, sublicense, and/or sell copies of the - * Materials, and to permit persons to whom the Materials are furnished to do - * so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Materials. - * - * MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS - * NEMAGFX API. THE UNMODIFIED, NORMATIVE VERSIONS OF THINK-SILICON NEMAGFX - * SPECIFICATIONS AND HEADER INFORMATION ARE LOCATED AT: - * https://think-silicon.com/products/software/nemagfx-api - * - * The software is provided 'as is', without warranty of any kind, express or - * implied, including but not limited to the warranties of merchantability, - * fitness for a particular purpose and noninfringement. In no event shall - * Think Silicon Single Member PC be liable for any claim, damages or other - * liability, whether in an action of contract, tort or otherwise, arising - * from, out of or in connection with the software or the use or other dealings - * in the software. - ******************************************************************************/ - - -#ifndef NEMA_FONT_H__ -#define NEMA_FONT_H__ - -#include "nema_hal.h" - -#ifdef __cplusplus -extern "C" { -#endif - -#define NEMA_ALIGNX_LEFT (0x00U) /**< Align horizontally to the left */ -#define NEMA_ALIGNX_RIGHT (0x01U) /**< Align horizontally to the right */ -#define NEMA_ALIGNX_CENTER (0x02U) /**< Align horizontally centered */ -#define NEMA_ALIGNX_JUSTIFY (0x03U) /**< Justify horizontally */ -#define NEMA_ALIGNX_MASK (0x03U) /**< Horizontal alignment mask */ -#define NEMA_ALIGNY_TOP (0x00U) /**< Align vertically to the top */ -#define NEMA_ALIGNY_BOTTOM (0x04U) /**< Align vertically to the bottom */ -#define NEMA_ALIGNY_CENTER (0x08U) /**< Align vertically centered */ -#define NEMA_ALIGNY_JUSTIFY (0x0cU) /**< Justify vertically */ -#define NEMA_ALIGNY_MASK (0x0cU) /**< Vertical alignment mask */ -#define NEMA_TEXT_WRAP (0x10U) /**< Use text wrapping */ - -typedef struct { - uint32_t left; /**< Neighbor character to the left of the current one (Unicode value) */ - int8_t x_offset; /**< Kerning offset (horizontally) */ -} nema_kern_pair_t; - -typedef struct { - uint32_t bitmapOffset; - uint8_t width; - uint8_t xAdvance; - int8_t xOffset; - int8_t yOffset; - uint32_t kern_offset; - uint8_t kern_length; -} nema_glyph_t; - -typedef struct { - int bitmapOffset; - uint8_t width; - uint8_t xAdvance; - int8_t xOffset; - int8_t yOffset; - int id; -} nema_glyph_indexed_t; - -typedef struct { - uint32_t first, last; - const nema_glyph_t *glyphs; -} nema_font_range_t; - -typedef struct { - nema_buffer_t bo; - const nema_font_range_t *ranges; - const int bitmap_size; - const uint8_t *bitmap; - uint32_t flags; - uint8_t xAdvance; //default xAdvance - uint8_t yAdvance; - uint8_t max_ascender; - uint8_t bpp; - const nema_kern_pair_t *kern_pairs; - const nema_glyph_indexed_t *indexed_glyphs; -} nema_font_t; - -/** \brief Bind the font to use in future nema_print() calls - * - * \param font Pointer to font - * - */ -void nema_bind_font(nema_font_t *font); - -/** \brief Get the bounding box's width and height of a string. - * - * \param str Pointer to string - * \param w Pointer to variable where width should be written - * \param h Pointer to variable where height should be written - * \param max_w Max allowed width - * \return Number of carriage returns - * - */ -int nema_string_get_bbox(const char *str, int *w, int *h, int max_w, uint32_t wrap); - -/** \brief Print pre-formatted text - * - * \param str Pointer to string - * \param x X coordinate of text-area's top-left corner - * \param y Y coordinate of text-area's top-left corner - * \param w Width of the text area - * \param h Height of the text area - * \param fg_col Foreground color of text - * \param align Alignment and wrapping mode - * - */ -void nema_print(const char *str, int x, int y, int w, int h, uint32_t fg_col, uint32_t align); - -/** \brief Print pre-formatted text - * - * \param *str Pointer to string - * \param *cursor_x X position of next character to be drawn. Usually initialized to 0 by the user and then updated internally by the library - * \param *cursor_y Y position of next character to be drawn. Usually initialized to 0 by the user and then updated internally by the library - * \param x X coordinate of text-area's top-left corner - * \param y Y coordinate of text-area's top-left corner - * \param w Width of the text area - * \param h Height of the text area - * \param fg_col Foreground color of text - * \param align Alignment and wrapping mode - * - */ -void nema_print_to_position(const char *str, int *pos_x, int *pos_y, int x, int y, int w, int h, uint32_t fg_col, uint32_t align); - - -/** \brief Print text (not formated) with indexed glyphs. Text is printed in a single line, from left to right - * - * \param ids Array with the glyphs indices - * \param id_count Count of the characters to be drawn - * \param x X coordinate of the text-area's top-left corner - * \param y Y coordinate of the text-area's top-left corner - * \param fg_col Foreground color of text - * - */ -void nema_print_indexed(const int *ids, int id_count, int x, int y, uint32_t fg_col); - -/** \brief Print a single character with indexed glyph - * - * \param id Array with the glyphs indices - * \param x X coordinate of the character's top-left corner - * \param y Y coordinate of the character's top-left corner - * \param fg_col Character's color - * - */ -void nema_print_char_indexed(const int id, int x, int y, uint32_t fg_col); - -/** \brief Returns the bounding box's width and height of a string with indexed glyphs - * - * \details The string must be specified as a single line text, due to the restriction - * that the characters are described by respective glyph indices. The height of the - * bounding box will be equal to the height of the bound font. - * - * \param ids Array with the glyphs indices - * \param id_count Count of the characters contained in the array with the glyphs indices - * \param w Pointer to variable where width should be written - * \param h Pointer to variable where height should be written - * \param max_w Maximum allowed width (if w is greater than this value, it will saturate to this) - */ -void nema_string_indexed_get_bbox(const int *ids, int id_count, int *w, int *h, int max_w); - -/** \brief Returns the horizontal advance (in pixels) of the bound font - * - */ -int nema_font_get_x_advance(); - -#ifdef __cplusplus -} -#endif - -#endif // NEMA_FONT_H__ +/* TSI 2023.xmo */ +/******************************************************************************* + * Copyright (c) 2023 Think Silicon Single Member PC + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this header file and/or associated documentation files to use, copy, + * modify, merge, publish, distribute, sublicense, and/or sell copies of the + * Materials, and to permit persons to whom the Materials are furnished to do + * so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Materials. + * + * MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS + * NEMAGFX API. THE UNMODIFIED, NORMATIVE VERSIONS OF THINK-SILICON NEMAGFX + * SPECIFICATIONS AND HEADER INFORMATION ARE LOCATED AT: + * https://think-silicon.com/products/software/nemagfx-api + * + * The software is provided 'as is', without warranty of any kind, express or + * implied, including but not limited to the warranties of merchantability, + * fitness for a particular purpose and noninfringement. In no event shall + * Think Silicon Single Member PC be liable for any claim, damages or other + * liability, whether in an action of contract, tort or otherwise, arising + * from, out of or in connection with the software or the use or other dealings + * in the software. + ******************************************************************************/ + + +#ifndef NEMA_FONT_H__ +#define NEMA_FONT_H__ + +#include "nema_hal.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#define NEMA_ALIGNX_LEFT (0x00U) /**< Align horizontally to the left */ +#define NEMA_ALIGNX_RIGHT (0x01U) /**< Align horizontally to the right */ +#define NEMA_ALIGNX_CENTER (0x02U) /**< Align horizontally centered */ +#define NEMA_ALIGNX_JUSTIFY (0x03U) /**< Justify horizontally */ +#define NEMA_ALIGNX_MASK (0x03U) /**< Horizontal alignment mask */ +#define NEMA_ALIGNY_TOP (0x00U) /**< Align vertically to the top */ +#define NEMA_ALIGNY_BOTTOM (0x04U) /**< Align vertically to the bottom */ +#define NEMA_ALIGNY_CENTER (0x08U) /**< Align vertically centered */ +#define NEMA_ALIGNY_JUSTIFY (0x0cU) /**< Justify vertically */ +#define NEMA_ALIGNY_MASK (0x0cU) /**< Vertical alignment mask */ +#define NEMA_TEXT_WRAP (0x10U) /**< Use text wrapping */ + +typedef struct { + uint32_t left; /**< Neighbor character to the left of the current one (Unicode value) */ + int8_t x_offset; /**< Kerning offset (horizontally) */ +} nema_kern_pair_t; + +typedef struct { + uint32_t bitmapOffset; + uint8_t width; + uint8_t xAdvance; + int8_t xOffset; + int8_t yOffset; + uint32_t kern_offset; + uint8_t kern_length; +} nema_glyph_t; + +typedef struct { + int bitmapOffset; + uint8_t width; + uint8_t xAdvance; + int8_t xOffset; + int8_t yOffset; + int id; +} nema_glyph_indexed_t; + +typedef struct { + uint32_t first, last; + const nema_glyph_t *glyphs; +} nema_font_range_t; + +typedef struct { + nema_buffer_t bo; + const nema_font_range_t *ranges; + const int bitmap_size; + const uint8_t *bitmap; + uint32_t flags; + uint8_t xAdvance; //default xAdvance + uint8_t yAdvance; + uint8_t max_ascender; + uint8_t bpp; + const nema_kern_pair_t *kern_pairs; + const nema_glyph_indexed_t *indexed_glyphs; +} nema_font_t; + +/** \brief Bind the font to use in future nema_print() calls + * + * \param font Pointer to font + * + */ +void nema_bind_font(nema_font_t *font); + +/** \brief Get the bounding box's width and height of a string. + * + * \param str Pointer to string + * \param w Pointer to variable where width should be written + * \param h Pointer to variable where height should be written + * \param max_w Max allowed width + * \return Number of carriage returns + * + */ +int nema_string_get_bbox(const char *str, int *w, int *h, int max_w, uint32_t wrap); + +/** \brief Print pre-formatted text + * + * \param str Pointer to string + * \param x X coordinate of text-area's top-left corner + * \param y Y coordinate of text-area's top-left corner + * \param w Width of the text area + * \param h Height of the text area + * \param fg_col Foreground color of text + * \param align Alignment and wrapping mode + * + */ +void nema_print(const char *str, int x, int y, int w, int h, uint32_t fg_col, uint32_t align); + +/** \brief Print pre-formatted text + * + * \param *str Pointer to string + * \param *cursor_x X position of next character to be drawn. Usually initialized to 0 by the user and then updated internally by the library + * \param *cursor_y Y position of next character to be drawn. Usually initialized to 0 by the user and then updated internally by the library + * \param x X coordinate of text-area's top-left corner + * \param y Y coordinate of text-area's top-left corner + * \param w Width of the text area + * \param h Height of the text area + * \param fg_col Foreground color of text + * \param align Alignment and wrapping mode + * + */ +void nema_print_to_position(const char *str, int *pos_x, int *pos_y, int x, int y, int w, int h, uint32_t fg_col, uint32_t align); + + +/** \brief Print text (not formated) with indexed glyphs. Text is printed in a single line, from left to right + * + * \param ids Array with the glyphs indices + * \param id_count Count of the characters to be drawn + * \param x X coordinate of the text-area's top-left corner + * \param y Y coordinate of the text-area's top-left corner + * \param fg_col Foreground color of text + * + */ +void nema_print_indexed(const int *ids, int id_count, int x, int y, uint32_t fg_col); + +/** \brief Print a single character with indexed glyph + * + * \param id Array with the glyphs indices + * \param x X coordinate of the character's top-left corner + * \param y Y coordinate of the character's top-left corner + * \param fg_col Character's color + * + */ +void nema_print_char_indexed(const int id, int x, int y, uint32_t fg_col); + +/** \brief Returns the bounding box's width and height of a string with indexed glyphs + * + * \details The string must be specified as a single line text, due to the restriction + * that the characters are described by respective glyph indices. The height of the + * bounding box will be equal to the height of the bound font. + * + * \param ids Array with the glyphs indices + * \param id_count Count of the characters contained in the array with the glyphs indices + * \param w Pointer to variable where width should be written + * \param h Pointer to variable where height should be written + * \param max_w Maximum allowed width (if w is greater than this value, it will saturate to this) + */ +void nema_string_indexed_get_bbox(const int *ids, int id_count, int *w, int *h, int max_w); + +/** \brief Returns the horizontal advance (in pixels) of the bound font + * + */ +int nema_font_get_x_advance(void); + +#ifdef __cplusplus +} +#endif + +#endif // NEMA_FONT_H__ diff --git a/libs/nema_gfx/include/nema_graphics.h b/libs/nema_gfx/include/nema_graphics.h index 00f240df7..5685cfe6e 100644 --- a/libs/nema_gfx/include/nema_graphics.h +++ b/libs/nema_gfx/include/nema_graphics.h @@ -1,1017 +1,1019 @@ -/* TSI 2023.xmo */ -/******************************************************************************* - * Copyright (c) 2023 Think Silicon Single Member PC - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this header file and/or associated documentation files to use, copy, - * modify, merge, publish, distribute, sublicense, and/or sell copies of the - * Materials, and to permit persons to whom the Materials are furnished to do - * so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Materials. - * - * MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS - * NEMAGFX API. THE UNMODIFIED, NORMATIVE VERSIONS OF THINK-SILICON NEMAGFX - * SPECIFICATIONS AND HEADER INFORMATION ARE LOCATED AT: - * https://think-silicon.com/products/software/nemagfx-api - * - * The software is provided 'as is', without warranty of any kind, express or - * implied, including but not limited to the warranties of merchantability, - * fitness for a particular purpose and noninfringement. In no event shall - * Think Silicon Single Member PC be liable for any claim, damages or other - * liability, whether in an action of contract, tort or otherwise, arising - * from, out of or in connection with the software or the use or other dealings - * in the software. - ******************************************************************************/ - - -#ifndef NEMA_GRAPHICS_H__ -#define NEMA_GRAPHICS_H__ - -#include "nema_sys_defs.h" -#include "nema_hal.h" -#include "nema_matrix3x3.h" - -#ifdef __cplusplus -extern "C" { -#endif - -typedef struct _img_obj_ { - nema_buffer_t bo; - uint16_t w; - uint16_t h; - int stride; - uint32_t color; - uint8_t format; - uint8_t sampling_mode; // NEMA_FILTER* -} img_obj_t; - -typedef img_obj_t nema_img_obj_t; - -typedef enum { - NEMA_NOTEX = -1, /**< No Texture */ - NEMA_TEX0 = 0, /**< Texture 0 */ - NEMA_TEX1 = 1, /**< Texture 1 */ - NEMA_TEX2 = 2, /**< Texture 2 */ - NEMA_TEX3 = 3 /**< Texture 3 */ -} nema_tex_t; - -#define NEMA_RGBX8888 0x00U /**< RGBX8888 */ -#define NEMA_RGBA8888 0x01U /**< RGBA8888 */ -#define NEMA_XRGB8888 0x02U /**< XRGB8888 */ -#define NEMA_ARGB8888 0x03U /**< ARGB8888 */ -#define NEMA_RGB565 0x04U /**< RGBA5650 */ -#define NEMA_RGBA5650 0x04U /**< RGBA5650 */ -#define NEMA_RGBA5551 0x05U /**< RGBA5551 */ -#define NEMA_RGBA4444 0x06U /**< RGBA4444 */ -#define NEMA_RGBA0800 0x07U /**< RGBA0800 */ -#define NEMA_A8 0x08U /**< RGBA0008 */ -#define NEMA_RGBA0008 0x08U /**< RGBA0008 */ -#define NEMA_L8 0x09U /**< L8 */ -#define NEMA_RGBA3320 0x38U /**< RGBA3320 (source only) */ -#define NEMA_RGB332 0x38U /**< RGBA3320 (source only) */ -#define NEMA_BW1 0x0CU /**< A1 (source only) */ -#define NEMA_A1 0x0CU /**< A1 (source only) */ -#define NEMA_L1 0x0BU /**< L1 (source only) */ -#define NEMA_UYVY 0x0DU /**< UYVY */ -#define NEMA_ABGR8888 0x0EU /**< ABGR8888 */ -#define NEMA_XBGR8888 0x0FU /**< XBGR8888 */ -#define NEMA_BGRA8888 0x10U /**< BGRA */ -#define NEMA_BGRX8888 0x11U /**< BGRX */ -#define NEMA_TSC4 0x12U /**< TSC4 */ -#define NEMA_TSC6 0x16U /**< TSC6 */ -#define NEMA_TSC6A 0x17U /**< TSC6A */ -#define NEMA_RV 0x18U /**< RV */ -#define NEMA_GU 0x19U /**< GU */ -#define NEMA_BY 0x1AU /**< BY */ -#define NEMA_YUV 0x1BU /**< YUV */ -#define NEMA_Z24_8 0x1cU /**< Z24_8 */ -#define NEMA_Z16 0x1dU /**< Z16 */ -#define NEMA_UV 0x1eU /**< UV */ -#define NEMA_A1LE 0x27U /**< A1LE (source only) */ -#define NEMA_A2LE 0x28U /**< A2LE (source only) */ -#define NEMA_A4LE 0x29U /**< A4LE (source only) */ -#define NEMA_L1LE 0x2AU /**< L1LE (source only) */ -#define NEMA_L2LE 0x2BU /**< L2LE (source only) */ -#define NEMA_L4LE 0x2CU /**< L4LE (source only) */ -#define NEMA_A2 0x30U /**< A2 (source only) */ -#define NEMA_A4 0x34U /**< A4 (source only) */ -#define NEMA_L2 0x31U /**< L2 (source only) */ -#define NEMA_L4 0x35U /**< L4 (source only) */ -#define NEMA_BGR24 0x39U /**< BGR24 */ -#define NEMA_RGB24 0x3CU /**< RGB24 */ -#define NEMA_RV10 0x3DU /**< RV-10bit */ -#define NEMA_GU10 0x3EU /**< GU-10bit */ -#define NEMA_BY10 0x3FU /**< BY-10bit */ -#define NEMA_RGBA2222 0x40U /**< RGBA2222 (Available if HW enabled - check HW manual) */ -#define NEMA_ABGR2222 0x41U /**< ABGR2222 (Available if HW enabled - check HW manual) */ -#define NEMA_BGRA2222 0x42U /**< BGRA2222 (Available if HW enabled - check HW manual) */ -#define NEMA_ARGB2222 0x43U /**< ARGB2222 (Available if HW enabled - check HW manual) */ -#define NEMA_AL88 0x44U /**< AL88 (Available if HW enabled - check HW manual) */ -#define NEMA_AL44 0x45U /**< AL44 (Available if HW enabled - check HW manual) */ -#define NEMA_ARGB1555 0x46U /**< ARGB1555 (Available if HW enabled - check HW manual) */ -#define NEMA_ARGB4444 0x47U /**< ARGB4444 (Available if HW enabled - check HW manual) */ -#define NEMA_BGRA5650 0x13U /**< BGRA5650 (Available if HW enabled - check HW manual) */ -#define NEMA_BGR565 0x13U /**< BGRA5650 (Available if HW enabled - check HW manual) */ -#define NEMA_BGRA5551 0x48U /**< BGRA5551 (Available if HW enabled - check HW manual) */ -#define NEMA_ABGR1555 0x49U /**< ABGR1555 (Available if HW enabled - check HW manual) */ -#define NEMA_BGRA4444 0x4aU /**< BGRA4444 (Available if HW enabled - check HW manual) */ -#define NEMA_ABGR4444 0x4bU /**< ABGR4444 (Available if HW enabled - check HW manual) */ -#define NEMA_TSC12 0x4cU /**< TSC12 (Available if HW enabled - check HW manual) */ -#define NEMA_TSC12A 0x4dU /**< TSC12A (Available if HW enabled - check HW manual) */ - -#define NEMA_DITHER 0x80U /**< Nema Dithering */ -#define NEMA_FORMAT_MASK 0x7FU /**< Format Mask */ - -typedef uint32_t nema_tex_format_t; - -//----------------------------------------------------------------------------------------------------------------------- - -// Texture Unit Parameters -//----------------------------------------------------------------------------------------- - // Filtering - 0:0 - //---------------------- -#define NEMA_FILTER_PS 0x00U /**< Point Sampling. */ -#define NEMA_FILTER_BL 0x01U /**< Bilinear filtering. */ - - // Wrapping Mode 3:2 - //---------------------- -#define NEMA_TEX_CLAMP (0x00U) /**< Clamp */ -#define NEMA_TEX_REPEAT (0x01U<<2) /**< Repeat */ -#define NEMA_TEX_BORDER (0x02U<<2) /**< Border */ -#define NEMA_TEX_MIRROR (0x03U<<2) /**< Mirror */ - - // Texture Coordinates Ordering 4:4 - //---------------------- -#define NEMA_TEX_MORTON_ORDER (0x10U) - - // Texture Coordinates Format 6:5 - //---------------------- -#define NEMA_TEX_RANGE_0_1 (0x1U<<5) /**< Interpolated Coordinates range: 0-1 */ -#define NEMA_TEX_LEFT_HANDED (0x1U<<6) /**< (0,0) is bottom left corner */ - -typedef uint8_t nema_tex_mode_t; - -// Triangle Culling -//----------------------------------------------------------------------------------------- -typedef enum { - NEMA_CULL_NONE = 0 , /**< Disable Triangle/Quadrilateral Culling */ - NEMA_CULL_CW = (1U<<28), /**< Cull clockwise Triangles/Quadrilaterals */ - NEMA_CULL_CCW = (1U<<29), /**< Cull anti-clockwise Triangles/Quadrilaterals */ - NEMA_CULL_ALL = NEMA_CULL_CW | NEMA_CULL_CCW /**< Cull all */ -} nema_tri_cull_t; - -// Rotation Modes -//----------------------------------------------------------------------------------------------------------------------- - -#define NEMA_ROT_000_CCW (0x0U) /**< No rotation */ -#define NEMA_ROT_090_CCW (0x1U) /**< Rotate 90 degrees counter-clockwise */ -#define NEMA_ROT_180_CCW (0x2U) /**< Rotate 180 degrees counter-clockwise */ -#define NEMA_ROT_270_CCW (0x3U) /**< Rotate 270 degrees counter-clockwise */ -#define NEMA_ROT_000_CW (0x0U) /**< No rotation */ -#define NEMA_ROT_270_CW (0x1U) /**< Rotate 270 degrees clockwise */ -#define NEMA_ROT_180_CW (0x2U) /**< Rotate 180 degrees clockwise */ -#define NEMA_ROT_090_CW (0x3U) /**< Rotate 90 degrees clockwise */ -#define NEMA_MIR_VERT (0x4U) /**< Mirror Vertically */ -#define NEMA_MIR_HOR (0x8U) /**< Mirror Horizontally */ - - -/** \brief Check if a known GPU is present - * - * \return -1 if no known GPU is present - * - */ -int nema_checkGPUPresence(void); - -// ------------------------------ TEXTURES ------------------------------------- - -/** \brief Program a Texture Unit - * - * \param texid Texture unit to be programmed - * \param addr_gpu Texture's address as seen by the GPU - * \param width Texture's width - * \param height Texture's height - * \param format Texture's format - * \param stride Texture's stride. If stride < 0, it's left to be calculated - * \param wrap_mode Wrap/Repeat mode to be used. When using 'repeat' or 'mirror', texture dimensions must be a power of two. Otherwise the behavior is undefined. - * - */ -void nema_bind_tex(nema_tex_t texid, uintptr_t addr_gpu, - uint32_t width, uint32_t height, - nema_tex_format_t format, int32_t stride, nema_tex_mode_t wrap_mode); - -/** \brief Set Texture Mapping default color - * - * \param color default color in 32-bit RGBA format - * \see nema_rgba() - * - */ -void nema_set_tex_color(uint32_t color); - -// ------------------------------ CONSTREGS ------------------------------------ - -/** \brief Write a value to a Constant Register of the GPU - * - * \param reg Constant Register to be written - * \param value Value to be written - * - */ -void nema_set_const_reg(int reg, uint32_t value); - -// --------------------------------- CLIP -------------------------------------- - -/** \brief Sets the drawing area's Clipping Rectangle - * - * \param x Clip Window top-left x coordinate - * \param y Clip Window minimum y - * \param w Clip Window width - * \param h Clip Window height - * - */ -void nema_set_clip(int32_t x, int32_t y, uint32_t w, uint32_t h); - -void nema_enable_gradient(int enable); - -void nema_enable_depth(int enable); - -/** \brief Enables MSAA per edge - * - * \param e0 Enable MSAA for edge 0 (vertices 0-1) - * \param e1 Enable MSAA for edge 1 (vertices 1-2) - * \param e2 Enable MSAA for edge 2 (vertices 2-3) - * \param e3 Enable MSAA for edge 3 (vertices 3-0) - * \return previous AA flags (may be ignored) - * - */ -uint32_t nema_enable_aa(uint8_t e0, uint8_t e1, uint8_t e2, uint8_t e3); - -// ------------------------------- DIRTY REGIONS ------------------------------------ - -/** \brief Returns the bounding rectangle of all the pixels that have been modified since its previous call. - * Available only on Nema|P and Nema|PVG GPUs. - * - * \param minx x coordinate of the upper left corner of the dirty region - * \param miny y coordinate of the upper left corner of the dirty region - * \param maxx x coordinate of the lower right corner of the dirty region - * \param maxy y coordinate of the lower right corner of the dirty region - * - */ -void nema_get_dirty_region(int *minx, int *miny, int *maxx, int *maxy); - -/** \brief Clear dirty region information - runs via the bound command-list - * Available only on Nema|P and Nema|PVG GPUs. - * - * \see nema_get_dirty_region() - * \see nema_clear_dirty_region_imm() - * - */ -void nema_clear_dirty_region(void); - -/** \brief Clear dirty region information immediately, no command-list involved - * Available only on Nema|P and Nema|PVG GPUs. - * - * \see nema_get_dirty_region() - * \see nema_clear_dirty_region() - * - */ -void nema_clear_dirty_region_imm(void); - -// -------------------------------- UTILS -------------------------------------- - -/** \brief Set triangle/quadrilateral culling mode - * - * \param cull Culling mode - * - */ -void nema_tri_cull(nema_tri_cull_t cull); - -/** \brief Return pixel size in bytes - * - * \param format Color format - * \return Pixel size in bytes - * - */ -int nema_format_size (nema_tex_format_t format); - -/** \brief Return stride in bytes - * - * \param format Color format - * \param wrap_mode Wrap/Repeat mode to be used. When using 'repeat' or 'mirror', texture dimensions must be a power of two. Otherwise the behavior is undefined. - * \param width Texture color format - * \return Stride in bytes - * - */ -int nema_stride_size(nema_tex_format_t format, nema_tex_mode_t wrap_mode, int width); - - -/** \brief Return texture size in bytes - * - * \param format Texture color format - * \param wrap_mode Wrap/Repeat mode to be used. When using 'repeat' or 'mirror', texture dimensions must be a power of two. Otherwise the behavior is undefined. - * \param width Texture width - * \param height Texture height - * \return Texture size in bytes - * - */ -int nema_texture_size(nema_tex_format_t format, nema_tex_mode_t wrap_mode, int width, int height); - -/** \brief Return Nema internal RGBA color - * - * \param R Red component - * \param G Green component - * \param B Blue component - * \param A Alpha component - * \return RGBA value - * - */ -uint32_t nema_rgba(unsigned char R, - unsigned char G, - unsigned char B, - unsigned char A); - -/** \brief Premultiply RGB channels with Alpha channel - * - * \param rgba RGBA color - * \return Premultiplied RGBA color - * - */ -uint32_t nema_premultiply_rgba(uint32_t rgba); - -/** \brief Initialize NemaGFX library - * - * \return negative value on error - * - */ -int nema_init(void); - -/** \brief Reinitialize NemaGFX library - * - * \details This function reinitializes the NemaGFX library after a GPU poweroff - * No memory allocation for ringbuffer etc is performed. - * - * \return negative value on error - * - */ -int nema_reinit(void); - -// ------------------------------- CONTEXT ------------------------------------- - -/** \brief Program Texture Unit with a foreground (source) texture (NEMA_TEX1) - * - * \param baseaddr_phys Address of the source texture, as seen by the GPU - * \param width Texture width - * \param height Texture hight - * \param format Texture format - * \param stride Texture stride. If negative, it's calculated internally. - * \param wrap_mode Wrap/Repeat mode to be used. When using 'repeat' or 'mirror', texture dimensions must be a power of two. Otherwise the behavior is undefined. - * - */ -void nema_bind_src_tex(uintptr_t baseaddr_phys, - uint32_t width, uint32_t height, - nema_tex_format_t format, int32_t stride, nema_tex_mode_t mode); - -/** \brief Program Texture Unit with a background texture ((NEMA_TEX2) - * - * \param baseaddr_phys Address of the source2 texture, as seen by the GPU - * \param width Texture width - * \param height Texture hight - * \param format Texture format - * \param stride Texture stride. If negative, it's calculated internally. - * \param wrap_mode Wrap/Repeat mode to be used. When using 'repeat' or 'mirror', texture dimensions must be a power of two. Otherwise the behavior is undefined. - * - */ -void nema_bind_src2_tex(uintptr_t baseaddr_phys, - uint32_t width, uint32_t height, - nema_tex_format_t format, int32_t stride, nema_tex_mode_t mode); - -/** \brief Program Texture Unit with a destination texture (NEMA_TEX0) - * - * \param baseaddr_phys Address of the destination texture, as seen by the GPU - * \param width Texture width - * \param height Texture hight - * \param format Texture format - * \param stride Texture stride. If negative, it's calculated internally. - * - */ -void nema_bind_dst_tex(uintptr_t baseaddr_phys, - uint32_t width, uint32_t height, - nema_tex_format_t format, int32_t stride); - -/** \brief Program Texture Unit with a lut/palette texture (NEMA_TEX2) and index texture (NEMA_TEX1_) - * - * \param baseaddr_phys Address of the index texture - * \param width Index texture width - * \param height Index texture hight - * \param format Index texture format - * \param stride Index texture stride. If negative, it's calculated internally. - * \param mode Index texture sampling mode. When using 'NEMA_TEX_REPEAT' or 'NEMA_TEX_MIRROR' wrapping mode, - * texture dimensions must be a power of two, otherwise the behavior is undefined. NEMA_FILTER_BL is not supported. - * \param palette_baseaddr_phys Address of the lut/palette texture - * \param palette_format lut/palette texture format - * - */ -void nema_bind_lut_tex( uintptr_t baseaddr_phys, - uint32_t width, uint32_t height, - nema_tex_format_t format, int32_t stride, nema_tex_mode_t mode, - uintptr_t palette_baseaddr_phys, - nema_tex_format_t palette_format); - -/** \brief Bind Depth Buffer - * - * \param baseaddr_phys Address of the depth buffer, as seen by the GPU - * \param width Buffer width - * \param height Buffer hight - * - */ -void nema_bind_depth_buffer(uintptr_t baseaddr_phys, - uint32_t width, uint32_t height); - -/** \private */ -// -------------------------------- DEPTH -------------------------------------- -void nema_set_depth(float start, float dx, float dy); - -// ------------------------------ GRADIENT ------------------------------------- -/** \private */ -void nema_set_gradient(float r_init, float g_init, float b_init, float a_init, - float r_dx, float r_dy, - float g_dx, float g_dy, - float b_dx, float b_dy, - float a_dx, float a_dy); - -// ------------------------------- DRAWING ------------------------------------- -/** \brief Clear destination texture with color - * - * \param rgba8888 32-bit RGBA color - * \see nema_rgba() - * - */ -void nema_clear(uint32_t rgba8888); - -/** \brief Clear depth buffer with specified value - * - * \param val Clear value - * - */ -void nema_clear_depth(uint32_t val); - -/** \brief Draw a colored line - * - * \param x0 x coordinate at the beginning of the line - * \param y0 y coordinate at the beginning of the line - * \param x1 x coordinate at the end of the line - * \param y1 y coordinate at the end of the line - * \param rgba8888 Color to be used - * \see nema_set_blend_fill() - * \see nema_rgba() - * - */ -void nema_draw_line(int x0, int y0, int x1, int y1, uint32_t rgba8888); - - -/** \brief Draw a line with width. Apply AA if available - * - * \param x0 x coordinate at the beginning of the line - * \param y0 y coordinate at the beginning of the line - * \param x1 x coordinate at the end of the line - * \param y1 y coordinate at the end of the line - * \param w line width - * \param rgba8888 Color to be used - * \see nema_draw_line() - * \see nema_set_blend_fill() - * \see nema_rgba() - * - */ -void -nema_draw_line_aa(float x0, float y0, float x1, float y1, float w, - uint32_t rgba8888); - -/** \brief Draw a colored circle with 1 pixel width - * - * \param x x coordinate of the circle's center - * \param y y coordinate of the circle's center - * \param r circle's radius - * \param rgba8888 Color to be used - * \see nema_set_blend_fill() - * \see nema_rgba() - * - */ -void nema_draw_circle(int x, int y, int r, uint32_t rgba8888); - -/** \brief Draw a colored circle with Anti-Aliasing (if available) and specified width - * - * \param x x coordinate of the circle's center - * \param y y coordinate of the circle's center - * \param r circle's radius - * \param w pencil width - * \param rgba8888 Color to be used - * \see nema_set_blend_fill() - * \see nema_rgba() - * - */ -void nema_draw_circle_aa(float x, float y, float r, float w, uint32_t rgba8888); - -/** \brief Draw a colored rectangle with rounded edges - * - * \param x0 x coordinate of the upper left vertex of the rectangle - * \param y0 y coordinate at the upper left vertex of the rectangle - * \param w width of the rectangle - * \param h height of the rectangle - * \param r corner radius - * \param rgba8888 - * \see nema_set_blend_fill() - * \see nema_rgba() - * - */ -void nema_draw_rounded_rect(int x0, int y0, int w, int h, int r, uint32_t rgba8888); - -/** \brief Draw a colored rectangle - * - * \param x x coordinate of the upper left vertex of the rectangle - * \param y y coordinate at the upper left vertex of the rectangle - * \param w width of the rectangle - * \param h height of the rectangle - * \param rgba8888 Color to be used - * \see nema_set_blend_fill() - * \see nema_rgba() - * - */ -void nema_draw_rect(int x, int y, int w, int h, uint32_t rgba8888); - -/** \brief Fill a circle with color - * - * \param x x coordinate of the circle's center - * \param y y coordinate of the circle's center - * \param r circle's radius - * \param rgba8888 Color to be used - * \see nema_set_blend_fill() - * \see nema_rgba() - * - */ -void nema_fill_circle(int x, int y, int r, uint32_t rgba8888); - -/** \brief Fill a circle with color, use Anti-Aliasing if available - * - * \param x x coordinate of the circle's center - * \param y y coordinate of the circle's center - * \param r circle's radius - * \param rgba8888 Color to be used - * \see nema_set_blend_fill() - * \see nema_rgba() - * - */ -void nema_fill_circle_aa(float x, float y, float r, uint32_t rgba8888); - -/** \brief Fill a triangle with color - * - * \param x0 x coordinate at the first vertex of the triangle - * \param y0 y coordinate at the first vertex of the triangle - * \param x1 x coordinate at the second vertex of the triangle - * \param y1 y coordinate at the second vertex of the triangle - * \param x2 x coordinate at the third vertex of the triangle - * \param y2 y coordinate at the third vertex of the triangle - * \param rgba8888 Color to be used - * \see nema_set_blend_fill() - * - */ -void nema_fill_triangle(int x0, int y0, int x1, int y1, int x2, int y2, uint32_t rgba8888); - -/** \brief Fill a rectangle with rounded edges with color - * - * \param x0 x coordinate of the upper left vertex of the rectangle - * \param y0 y coordinate at the upper left vertex of the rectangle - * \param w width of the rectangle - * \param h height of the rectangle - * \param r corner radius - * \param rgba8888 - * \see nema_set_blend_fill() - * \see nema_rgba() - * - */ -void nema_fill_rounded_rect(int x0, int y0, int w, int h, int r, uint32_t rgba8888); - -/** \brief Fill a rectangle with color - * - * \param x x coordinate of the upper left vertex of the rectangle - * \param y y coordinate at the upper left vertex of the rectangle - * \param w width of the rectangle - * \param h height of the rectangle - * \param rgba8888 Color to be used - * \see nema_set_blend_fill() - * \see nema_rgba() - * - */ -void nema_fill_rect(int x, int y, int w, int h, uint32_t rgba8888); - -/** \brief Fill a quadrilateral with color - * - * \param x0 x coordinate at the first vertex of the quadrilateral - * \param y0 y coordinate at the first vertex of the quadrilateral - * \param x1 x coordinate at the second vertex of the quadrilateral - * \param y1 y coordinate at the second vertex of the quadrilateral - * \param x2 x coordinate at the third vertex of the quadrilateral - * \param y2 y coordinate at the third vertex of the quadrilateral - * \param x3 x coordinate at the fourth vertex of the quadrilateral - * \param y3 y coordinate at the fourth vertex of the quadrilateral - * \param rgba8888 Color to be used - * \see nema_set_blend_fill() - * \see nema_rgba() - * - */ -void nema_fill_quad(int x0, int y0, int x1, int y1, int x2, int y2, int x3, int y3, uint32_t rgba8888); - - -/** \brief Fill a rectangle with color (float coordinates) - * - * \param x x coordinate of the upper left vertex of the rectangle - * \param y y coordinate at the upper left vertex of the rectangle - * \param w width of the rectangle - * \param h height of the rectangle - * \param rgba8888 Color to be used - * \see nema_set_blend_fill() - * \see nema_rgba() - * - */ -void nema_fill_rect_f(float x, float y, float w, float h, uint32_t rgba8888); - - -/** \brief Fill a quadrilateral with color (float coordinates) - * - * \param x0 x coordinate at the first vertex of the quadrilateral - * \param y0 y coordinate at the first vertex of the quadrilateral - * \param x1 x coordinate at the second vertex of the quadrilateral - * \param y1 y coordinate at the second vertex of the quadrilateral - * \param x2 x coordinate at the third vertex of the quadrilateral - * \param y2 y coordinate at the third vertex of the quadrilateral - * \param x3 x coordinate at the fourth vertex of the quadrilateral - * \param y3 y coordinate at the fourth vertex of the quadrilateral - * \param rgba8888 Color to be used - * \see nema_set_blend_fill() - * \see nema_rgba() - * - */ -void nema_fill_quad_f(float x0, float y0, float x1, float y1, float x2, float y2, float x3, float y3, uint32_t rgba8888); - - -/** \brief Fill a triangle with color (float coordinates) - * - * \param x0 x coordinate at the first vertex of the triangle - * \param y0 y coordinate at the first vertex of the triangle - * \param x1 x coordinate at the second vertex of the triangle - * \param y1 y coordinate at the second vertex of the triangle - * \param x2 x coordinate at the third vertex of the triangle - * \param y2 y coordinate at the third vertex of the triangle - * \param rgba8888 Color to be used - * \see nema_set_blend_fill() - * - */ -void nema_fill_triangle_f(float x0, float y0, float x1, float y1, float x2, float y2, uint32_t rgba8888); - - -// ------------------------------- BLITTING ------------------------------------ - -/** \brief Blit source texture to destination texture - * - * \param x destination x coordinate - * \param y destination y coordinate - * \see nema_set_blend_fill() - * - */ -void nema_blit (int x, int y); - - -/** \brief Blit source texture to destination texture with rounded corners - * - * \param x destination x coordinate - * \param y destination y coordinate - * \param r destination corner radius - * \see nema_set_blend_fill() - * - */ -void nema_blit_rounded (int x, int y, int r); - -/** \brief Blit source texture to destination's specified rectangle (crop or wrap when needed) - * - * \param x destination x coordinate - * \param y destination y coordinate - * \param w destination width - * \param h destination height - * \see nema_set_blend_blit() - * - */ -void nema_blit_rect (int x, int y, int w, int h); - -/** \brief Blit part of a source texture to destination's specified rectangle (crop or wrap when needed) - * - * \param x destination x coordinate - * \param y destination y coordinate - * \param w destination width - * \param h destination height - * \param x source x coordinate - * \param y source y coordinate - * \see nema_blit_subrect() - * \see nema_set_blend_blit() - * - */ -void nema_blit_subrect(int dst_x, int dst_y, int w, int h, int src_x, int src_y); - -/** \brief Blit source texture to destination. Fit (scale) texture to specified rectangle. - * - * \param x destination x coordinate - * \param y destination y coordinate - * \param w destination width - * \param h destination height - * \see nema_set_blend_blit() - * - */ -void nema_blit_rect_fit(int x, int y, int w, int h); - - -/** \brief Blit part of source texture to destination. Fit (scale) texture to specified rectangle. - * - * \param x destination x coordinate - * \param y destination y coordinate - * \param w destination width - * \param h destination height - * \param x source x coordinate - * \param y source y coordinate - * \param w source width - * \param h source height - * \see nema_blit_rect_fit() - * \see nema_set_blend_blit() - * - */ -void nema_blit_subrect_fit( int dst_x, int dst_y, int dst_w, int dst_h, - int src_x, int src_y, int src_w, int src_h); - -/** \brief Rotate around pivot point and Blit source texture. - * - * \param cx destination rotation center x coordinate - * \param cy destination rotation center y coordinate - * \param px source pivot point x coordinate - * \param py source pivot point y coordinate - * \param degrees_cw degrees of clockwise rotation in range [0, 360] - * \see nema_set_blend_blit() - * - */ -void nema_blit_rotate_pivot( float cx, float cy, - float px, float py, float degrees_cw ); - -/** \brief Rotate and Blit source texture to destination. - * - * \param x destination x coordinate - * \param y destination y coordinate - * \param rotation Rotation to be done - * \see nema_set_blend_blit() - * - */ -void nema_blit_rotate(int x, int y, uint32_t rotation); - -/** \brief Rotate and Blit partial source texture to destination. - * - * \param sx source upper left x coordinate - * \param sy source upper left y coordinate - * \param sw source width of partial region - * \param sh source height of partial region - * \param x destination x coordinate - * \param y destination y coordinate - * \param rotation Rotation to be done - * \see nema_set_blend_blit() - * - */ -void nema_blit_rotate_partial(int sx, int sy, - int sw, int sh, - int x, int y, - uint32_t rotation); - - -/** \brief Blit source texture to destination. Fit texture to specified triangle. - * - * \param dx0 x coordinate at the first vertex of the triangle - * \param dy0 y coordinate at the first vertex of the triangle - * \param v0 in [0, 3] indicates the corner of the texture that fits to the first vertex of the triangle - * 0 _ _ 1 - * |_ _| - * 3 2 - * \param dx1 x coordinate at the second vertex of the triangle - * \param dy1 y coordinate at the second vertex of the triangle - * \param v1 in [0, 3] indicates the corner of the texture that fits to the second vertex of the triangle - * \param dx2 x coordinate at the third vertex of the triangle - * \param dy2 y coordinate at the third vertex of the triangle - * \param v2 in [0, 3] indicates the corner of the texture that fits to the third vertex of the triangle - * \see nema_set_blend_blit() - * - */ -void nema_blit_tri_fit (float dx0, float dy0, int v0, - float dx1, float dy1, int v1, - float dx2, float dy2, int v2); - -/** \brief Blit a triangular part of the source tecture to a triangular destination area - * - * \param dx0 x coordinate at the first vertex of the destination triangle - * \param dy0 y coordinate at the first vertex of the destination triangle - * \param dw0 w coordinate at the first vertex of the destination triangle - * \param dx1 x coordinate at the second vertex of the destination triangle - * \param dy1 y coordinate at the second vertex of the destination triangle - * \param dw1 w coordinate at the second vertex of the destination triangle - * \param dx2 x coordinate at the third vertex of the destination triangle - * \param dy2 y coordinate at the third vertex of the destination triangle - * \param dw2 w coordinate at the third vertex of the destination triangle - * \param sx0 x coordinate at the first vertex of the source triangle - * \param sy0 y coordinate at the first vertex of the source triangle - * \param sx1 x coordinate at the second vertex of the source triangle - * \param sy1 y coordinate at the second vertex of the source triangle - * \param sx2 x coordinate at the third vertex of the source triangle - * \param sy2 y coordinate at the third vertex of the source triangle - * \see nema_set_blend_blit() - * - */ -void nema_blit_tri_uv (float dx0, float dy0, float dw0, - float dx1, float dy1, float dw1, - float dx2, float dy2, float dw2, - float sx0, float sy0, - float sx1, float sy1, - float sx2, float sy2 - ); - -/** \brief Blit source texture to destination. Fit texture to specified quadrilateral. - * - * \param dx0 x coordinate at the first vertex of the quadrilateral - * \param dy0 y coordinate at the first vertex of the quadrilateral - * \param dx1 x coordinate at the second vertex of the quadrilateral - * \param dy1 y coordinate at the second vertex of the quadrilateral - * \param dx2 x coordinate at the third vertex of the quadrilateral - * \param dy2 y coordinate at the third vertex of the quadrilateral - * \param dx3 x coordinate at the fourth vertex of the quadrilateral - * \param dy3 y coordinate at the fourth vertex of the quadrilateral - * \see nema_set_blend_blit() - * \see nema_blit_subrect_quad_fit() - * - */ -void nema_blit_quad_fit (float dx0, float dy0, - float dx1, float dy1, - float dx2, float dy2, - float dx3, float dy3); - -/** \brief Blit source texture to destination. Fit rectangulare area of texture to specified quadrilateral. - * - * \param dx0 x coordinate at the first vertex of the quadrilateral - * \param dy0 y coordinate at the first vertex of the quadrilateral - * \param dx1 x coordinate at the second vertex of the quadrilateral - * \param dy1 y coordinate at the second vertex of the quadrilateral - * \param dx2 x coordinate at the third vertex of the quadrilateral - * \param dy2 y coordinate at the third vertex of the quadrilateral - * \param dx3 x coordinate at the fourth vertex of the quadrilateral - * \param dy3 y coordinate at the fourth vertex of the quadrilateral - * \param sx x coordinate of the top left corner of the texture's rectangular area to be blitted - * \param sy y coordinate of the top left corner of the texture's rectangular area to be blitted - * \param sw width of the texture's rectangular area to be blitted - * \param sh height of the texture's rectangular area to be blitted - * \see nema_set_blend_blit() - * \see nema_blit_quad_fit() - * - */ -void nema_blit_subrect_quad_fit(float dx0, float dy0, - float dx1, float dy1, - float dx2, float dy2, - float dx3, float dy3, - int sx, int sy, - int sw, int sh); - -/** \brief Blit source texture to destination. Use the matrix provided by the user. - * - * \param dx0 x coordinate at the first vertex of the quadrilateral - * \param dy0 y coordinate at the first vertex of the quadrilateral - * \param dx1 x coordinate at the second vertex of the quadrilateral - * \param dy1 y coordinate at the second vertex of the quadrilateral - * \param dx2 x coordinate at the third vertex of the quadrilateral - * \param dy2 y coordinate at the third vertex of the quadrilateral - * \param dx3 x coordinate at the fourth vertex of the quadrilateral - * \param dy3 y coordinate at the fourth vertex of the quadrilateral - * \param m 3x3 matrix (screen coordinates to texture coordinates) - * \see nema_set_blend_blit() - * - */ -void nema_blit_quad_m(float dx0, float dy0, - float dx1, float dy1, - float dx2, float dy2, - float dx3, float dy3, nema_matrix3x3_t m); - - - - -/** \brief Enable breakpoints - * - * \see nema_brk_disable() - * - */ -void nema_brk_enable(void); - -/** \brief Disable breakpoints - * - * \see nema_brk_enable() - * - */ -void nema_brk_disable(void); - - -/** \brief Add a breakpoint to the current Command List - * - * \return Breakpoint ID - * - */ -int nema_brk_add(void); - -/** \brief Add a breakpoint to the current Command List - * - * \param brk_id Breakpoint ID to wait for. If zero (0), wait until next Breakpoint - * \return ID of reached Breakpoint - * - */ -int nema_brk_wait(int brk_id); - -/** \brief Instruct the GPU to resume execution - * - * - */ -void nema_brk_continue(void); - -/** \brief Enable external hold signals - * - * \param hold_id Hold signals to be enabled [0-3] - * \see nema_ext_hold_disable() - * - */ -void nema_ext_hold_enable(uint32_t hold_id); - -/** \brief Disable external hold signals - * - * \param hold_id Hold signals to be disabled [0-3] - * \see nema_ext_hold_enable() - * - */ -void nema_ext_hold_disable(uint32_t hold_id); - -/** \brief Enable Interrupt Request when GPU reaches hold point - * - * \param hold_id Hold signals' IRQ to be enabled [0-3] - * \see nema_ext_hold_disable() - * - */ -void nema_ext_hold_irq_enable(uint32_t hold_id); - -/** \brief Disable external hold signals - * - * \param hold_id Hold signals' IRQ to be disabled [0-3] - * \see nema_ext_hold_enable() - * - */ -void nema_ext_hold_irq_disable(uint32_t hold_id); - - -/** \brief Assert hold signals internally via a Command List - * - * \param hold_id Hold signal to be asserted - * \param stop If not zero, force Command List Processor to wait for FLAG to be deasserted - * \see nema_ext_hold_deassert() - * - */ -void nema_ext_hold_assert(uint32_t hold_id, int stop); - -/** \brief Dessert hold signals internally via a Command List - * - * \param hold_id Hold signal to be deasserted - * \see nema_ext_hold_assert() - * - */ -void nema_ext_hold_deassert(uint32_t hold_id); - -/** \brief Assert hold signals from the CPU (no Command List) - * - * \param hold_id Hold signal to be asserted - * \see nema_ext_hold_deassert() - * - */ -void nema_ext_hold_assert_imm(uint32_t hold_id); - -/** \brief Dessert hold signals from the CPU (no Command List) - * - * \param hold_id Hold signal to be deasserted - * \see nema_ext_hold_assert() - * - */ -void nema_ext_hold_deassert_imm(uint32_t hold_id); - -/** \brief Check for which architeture is the library compiled - * - * \return Returns string with the architecture name - * - */ -const char* nema_get_sw_device_name(void); - - -#ifdef __cplusplus -} -#endif - -#endif +/* TSI 2023.xmo */ +/******************************************************************************* + * Copyright (c) 2023 Think Silicon Single Member PC + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this header file and/or associated documentation files to use, copy, + * modify, merge, publish, distribute, sublicense, and/or sell copies of the + * Materials, and to permit persons to whom the Materials are furnished to do + * so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Materials. + * + * MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS + * NEMAGFX API. THE UNMODIFIED, NORMATIVE VERSIONS OF THINK-SILICON NEMAGFX + * SPECIFICATIONS AND HEADER INFORMATION ARE LOCATED AT: + * https://think-silicon.com/products/software/nemagfx-api + * + * The software is provided 'as is', without warranty of any kind, express or + * implied, including but not limited to the warranties of merchantability, + * fitness for a particular purpose and noninfringement. In no event shall + * Think Silicon Single Member PC be liable for any claim, damages or other + * liability, whether in an action of contract, tort or otherwise, arising + * from, out of or in connection with the software or the use or other dealings + * in the software. + ******************************************************************************/ + + +#ifndef NEMA_GRAPHICS_H__ +#define NEMA_GRAPHICS_H__ + +#include "nema_sys_defs.h" +#include "nema_hal.h" +#include "nema_matrix3x3.h" + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct _img_obj_ { + nema_buffer_t bo; + uint16_t w; + uint16_t h; + int stride; + uint32_t color; + uint8_t format; + uint8_t sampling_mode; // NEMA_FILTER* +} img_obj_t; + +typedef img_obj_t nema_img_obj_t; + +typedef enum { + NEMA_NOTEX = -1, /**< No Texture */ + NEMA_TEX0 = 0, /**< Texture 0 */ + NEMA_TEX1 = 1, /**< Texture 1 */ + NEMA_TEX2 = 2, /**< Texture 2 */ + NEMA_TEX3 = 3, /**< Texture 3 */ + NEMA_TEXMAX = 4 /**< Enum max value */ +} nema_tex_t; + +#define NEMA_RGBX8888 0x00U /**< RGBX8888 */ +#define NEMA_RGBA8888 0x01U /**< RGBA8888 */ +#define NEMA_XRGB8888 0x02U /**< XRGB8888 */ +#define NEMA_ARGB8888 0x03U /**< ARGB8888 */ +#define NEMA_RGB565 0x04U /**< RGBA5650 */ +#define NEMA_RGBA5650 0x04U /**< RGBA5650 */ +#define NEMA_RGBA5551 0x05U /**< RGBA5551 */ +#define NEMA_RGBA4444 0x06U /**< RGBA4444 */ +#define NEMA_RGBA0800 0x07U /**< RGBA0800 */ +#define NEMA_A8 0x08U /**< RGBA0008 */ +#define NEMA_RGBA0008 0x08U /**< RGBA0008 */ +#define NEMA_L8 0x09U /**< L8 */ +#define NEMA_RGBA3320 0x38U /**< RGBA3320 (source only) */ +#define NEMA_RGB332 0x38U /**< RGBA3320 (source only) */ +#define NEMA_BW1 0x0CU /**< A1 (source only) */ +#define NEMA_A1 0x0CU /**< A1 (source only) */ +#define NEMA_L1 0x0BU /**< L1 (source only) */ +#define NEMA_UYVY 0x0DU /**< UYVY */ +#define NEMA_ABGR8888 0x0EU /**< ABGR8888 */ +#define NEMA_XBGR8888 0x0FU /**< XBGR8888 */ +#define NEMA_BGRA8888 0x10U /**< BGRA */ +#define NEMA_BGRX8888 0x11U /**< BGRX */ +#define NEMA_TSC4 0x12U /**< TSC4 */ +#define NEMA_TSC6 0x16U /**< TSC6 */ +#define NEMA_TSC6A 0x17U /**< TSC6A */ +#define NEMA_RV 0x18U /**< RV */ +#define NEMA_GU 0x19U /**< GU */ +#define NEMA_BY 0x1AU /**< BY */ +#define NEMA_YUV 0x1BU /**< YUV */ +#define NEMA_Z24_8 0x1cU /**< Z24_8 */ +#define NEMA_Z16 0x1dU /**< Z16 */ +#define NEMA_UV 0x1eU /**< UV */ +#define NEMA_A1LE 0x27U /**< A1LE (source only) */ +#define NEMA_A2LE 0x28U /**< A2LE (source only) */ +#define NEMA_A4LE 0x29U /**< A4LE (source only) */ +#define NEMA_L1LE 0x2AU /**< L1LE (source only) */ +#define NEMA_L2LE 0x2BU /**< L2LE (source only) */ +#define NEMA_L4LE 0x2CU /**< L4LE (source only) */ +#define NEMA_A2 0x30U /**< A2 (source only) */ +#define NEMA_A4 0x34U /**< A4 (source only) */ +#define NEMA_L2 0x31U /**< L2 (source only) */ +#define NEMA_L4 0x35U /**< L4 (source only) */ +#define NEMA_BGR24 0x39U /**< BGR24 */ +#define NEMA_RGB24 0x3CU /**< RGB24 */ +#define NEMA_RV10 0x3DU /**< RV-10bit */ +#define NEMA_GU10 0x3EU /**< GU-10bit */ +#define NEMA_BY10 0x3FU /**< BY-10bit */ +#define NEMA_RGBA2222 0x40U /**< RGBA2222 (Available if HW enabled - check HW manual) */ +#define NEMA_ABGR2222 0x41U /**< ABGR2222 (Available if HW enabled - check HW manual) */ +#define NEMA_BGRA2222 0x42U /**< BGRA2222 (Available if HW enabled - check HW manual) */ +#define NEMA_ARGB2222 0x43U /**< ARGB2222 (Available if HW enabled - check HW manual) */ +#define NEMA_AL88 0x44U /**< AL88 (Available if HW enabled - check HW manual) */ +#define NEMA_AL44 0x45U /**< AL44 (Available if HW enabled - check HW manual) */ +#define NEMA_ARGB1555 0x46U /**< ARGB1555 (Available if HW enabled - check HW manual) */ +#define NEMA_ARGB4444 0x47U /**< ARGB4444 (Available if HW enabled - check HW manual) */ +#define NEMA_BGRA5650 0x13U /**< BGRA5650 (Available if HW enabled - check HW manual) */ +#define NEMA_BGR565 0x13U /**< BGRA5650 (Available if HW enabled - check HW manual) */ +#define NEMA_BGRA5551 0x48U /**< BGRA5551 (Available if HW enabled - check HW manual) */ +#define NEMA_ABGR1555 0x49U /**< ABGR1555 (Available if HW enabled - check HW manual) */ +#define NEMA_BGRA4444 0x4aU /**< BGRA4444 (Available if HW enabled - check HW manual) */ +#define NEMA_ABGR4444 0x4bU /**< ABGR4444 (Available if HW enabled - check HW manual) */ +#define NEMA_TSC12 0x4cU /**< TSC12 (Available if HW enabled - check HW manual) */ +#define NEMA_TSC12A 0x4dU /**< TSC12A (Available if HW enabled - check HW manual) */ +#define NEMA_TSC6AP 0x4eU /**< TSC6AP (Available if HW enabled - check HW manual) */ + +#define NEMA_DITHER 0x80U /**< Nema Dithering */ +#define NEMA_FORMAT_MASK 0x7FU /**< Format Mask */ + +typedef uint32_t nema_tex_format_t; + +//----------------------------------------------------------------------------------------------------------------------- + +// Texture Unit Parameters +//----------------------------------------------------------------------------------------- + // Filtering - 0:0 + //---------------------- +#define NEMA_FILTER_PS 0x00U /**< Point Sampling. */ +#define NEMA_FILTER_BL 0x01U /**< Bilinear filtering. */ + + // Wrapping Mode 3:2 + //---------------------- +#define NEMA_TEX_CLAMP (0x00U) /**< Clamp */ +#define NEMA_TEX_REPEAT (0x01U<<2) /**< Repeat */ +#define NEMA_TEX_BORDER (0x02U<<2) /**< Border */ +#define NEMA_TEX_MIRROR (0x03U<<2) /**< Mirror */ + + // Texture Coordinates Ordering 4:4 + //---------------------- +#define NEMA_TEX_MORTON_ORDER (0x10U) + + // Texture Coordinates Format 6:5 + //---------------------- +#define NEMA_TEX_RANGE_0_1 (0x1U<<5) /**< Interpolated Coordinates range: 0-1 */ +#define NEMA_TEX_LEFT_HANDED (0x1U<<6) /**< (0,0) is bottom left corner */ + +typedef uint8_t nema_tex_mode_t; + +// Triangle Culling +//----------------------------------------------------------------------------------------- +typedef enum { + NEMA_CULL_NONE = 0 , /**< Disable Triangle/Quadrilateral Culling */ + NEMA_CULL_CW = (1U<<28), /**< Cull clockwise Triangles/Quadrilaterals */ + NEMA_CULL_CCW = (1U<<29), /**< Cull anti-clockwise Triangles/Quadrilaterals */ + NEMA_CULL_ALL = NEMA_CULL_CW | NEMA_CULL_CCW /**< Cull all */ +} nema_tri_cull_t; + +// Rotation Modes +//----------------------------------------------------------------------------------------------------------------------- + +#define NEMA_ROT_000_CCW (0x0U) /**< No rotation */ +#define NEMA_ROT_090_CCW (0x1U) /**< Rotate 90 degrees counter-clockwise */ +#define NEMA_ROT_180_CCW (0x2U) /**< Rotate 180 degrees counter-clockwise */ +#define NEMA_ROT_270_CCW (0x3U) /**< Rotate 270 degrees counter-clockwise */ +#define NEMA_ROT_000_CW (0x0U) /**< No rotation */ +#define NEMA_ROT_270_CW (0x1U) /**< Rotate 270 degrees clockwise */ +#define NEMA_ROT_180_CW (0x2U) /**< Rotate 180 degrees clockwise */ +#define NEMA_ROT_090_CW (0x3U) /**< Rotate 90 degrees clockwise */ +#define NEMA_MIR_VERT (0x4U) /**< Mirror Vertically */ +#define NEMA_MIR_HOR (0x8U) /**< Mirror Horizontally */ + + +/** \brief Check if a known GPU is present + * + * \return -1 if no known GPU is present + * + */ +int nema_checkGPUPresence(void); + +// ------------------------------ TEXTURES ------------------------------------- + +/** \brief Program a Texture Unit + * + * \param texid Texture unit to be programmed + * \param addr_gpu Texture's address as seen by the GPU + * \param width Texture's width + * \param height Texture's height + * \param format Texture's format + * \param stride Texture's stride. If stride < 0, it's left to be calculated + * \param wrap_mode Wrap/Repeat mode to be used. When using 'repeat' or 'mirror', texture dimensions must be a power of two. Otherwise the behavior is undefined. + * + */ +void nema_bind_tex(nema_tex_t texid, uintptr_t addr_gpu, + uint32_t width, uint32_t height, + nema_tex_format_t format, int32_t stride, nema_tex_mode_t wrap_mode); + +/** \brief Set Texture Mapping default color + * + * \param color default color in 32-bit RGBA format + * \see nema_rgba() + * + */ +void nema_set_tex_color(uint32_t color); + +// ------------------------------ CONSTREGS ------------------------------------ + +/** \brief Write a value to a Constant Register of the GPU + * + * \param reg Constant Register to be written + * \param value Value to be written + * + */ +void nema_set_const_reg(int reg, uint32_t value); + +// --------------------------------- CLIP -------------------------------------- + +/** \brief Sets the drawing area's Clipping Rectangle + * + * \param x Clip Window top-left x coordinate + * \param y Clip Window minimum y + * \param w Clip Window width + * \param h Clip Window height + * + */ +void nema_set_clip(int32_t x, int32_t y, uint32_t w, uint32_t h); + +void nema_enable_gradient(int enable); + +void nema_enable_depth(int enable); + +/** \brief Enables MSAA per edge + * + * \param e0 Enable MSAA for edge 0 (vertices 0-1) + * \param e1 Enable MSAA for edge 1 (vertices 1-2) + * \param e2 Enable MSAA for edge 2 (vertices 2-3) + * \param e3 Enable MSAA for edge 3 (vertices 3-0) + * \return previous AA flags (may be ignored) + * + */ +uint32_t nema_enable_aa(uint8_t e0, uint8_t e1, uint8_t e2, uint8_t e3); + +// ------------------------------- DIRTY REGIONS ------------------------------------ + +/** \brief Returns the bounding rectangle of all the pixels that have been modified since its previous call. + * Available only on Nema|P and Nema|PVG GPUs. + * + * \param minx x coordinate of the upper left corner of the dirty region + * \param miny y coordinate of the upper left corner of the dirty region + * \param maxx x coordinate of the lower right corner of the dirty region + * \param maxy y coordinate of the lower right corner of the dirty region + * + */ +void nema_get_dirty_region(int *minx, int *miny, int *maxx, int *maxy); + +/** \brief Clear dirty region information - runs via the bound command-list + * Available only on Nema|P and Nema|PVG GPUs. + * + * \see nema_get_dirty_region() + * \see nema_clear_dirty_region_imm() + * + */ +void nema_clear_dirty_region(void); + +/** \brief Clear dirty region information immediately, no command-list involved + * Available only on Nema|P and Nema|PVG GPUs. + * + * \see nema_get_dirty_region() + * \see nema_clear_dirty_region() + * + */ +void nema_clear_dirty_region_imm(void); + +// -------------------------------- UTILS -------------------------------------- + +/** \brief Set triangle/quadrilateral culling mode + * + * \param cull Culling mode + * + */ +void nema_tri_cull(nema_tri_cull_t cull); + +/** \brief Return pixel size in bytes + * + * \param format Color format + * \return Pixel size in bytes + * + */ +int nema_format_size (nema_tex_format_t format); + +/** \brief Return stride in bytes + * + * \param format Color format + * \param wrap_mode Wrap/Repeat mode to be used. When using 'repeat' or 'mirror', texture dimensions must be a power of two. Otherwise the behavior is undefined. + * \param width Texture color format + * \return Stride in bytes + * + */ +int nema_stride_size(nema_tex_format_t format, nema_tex_mode_t wrap_mode, int width); + + +/** \brief Return texture size in bytes + * + * \param format Texture color format + * \param wrap_mode Wrap/Repeat mode to be used. When using 'repeat' or 'mirror', texture dimensions must be a power of two. Otherwise the behavior is undefined. + * \param width Texture width + * \param height Texture height + * \return Texture size in bytes + * + */ +int nema_texture_size(nema_tex_format_t format, nema_tex_mode_t wrap_mode, int width, int height); + +/** \brief Return Nema internal RGBA color + * + * \param R Red component + * \param G Green component + * \param B Blue component + * \param A Alpha component + * \return RGBA value + * + */ +uint32_t nema_rgba(unsigned char R, + unsigned char G, + unsigned char B, + unsigned char A); + +/** \brief Premultiply RGB channels with Alpha channel + * + * \param rgba RGBA color + * \return Premultiplied RGBA color + * + */ +uint32_t nema_premultiply_rgba(uint32_t rgba); + +/** \brief Initialize NemaGFX library + * + * \return negative value on error + * + */ +int nema_init(void); + +/** \brief Reinitialize NemaGFX library + * + * \details This function reinitializes the NemaGFX library after a GPU poweroff + * No memory allocation for ringbuffer etc is performed. + * + * \return negative value on error + * + */ +int nema_reinit(void); + +// ------------------------------- CONTEXT ------------------------------------- + +/** \brief Program Texture Unit with a foreground (source) texture (NEMA_TEX1) + * + * \param baseaddr_phys Address of the source texture, as seen by the GPU + * \param width Texture width + * \param height Texture hight + * \param format Texture format + * \param stride Texture stride. If negative, it's calculated internally. + * \param wrap_mode Wrap/Repeat mode to be used. When using 'repeat' or 'mirror', texture dimensions must be a power of two. Otherwise the behavior is undefined. + * + */ +void nema_bind_src_tex(uintptr_t baseaddr_phys, + uint32_t width, uint32_t height, + nema_tex_format_t format, int32_t stride, nema_tex_mode_t mode); + +/** \brief Program Texture Unit with a background texture ((NEMA_TEX2) + * + * \param baseaddr_phys Address of the source2 texture, as seen by the GPU + * \param width Texture width + * \param height Texture hight + * \param format Texture format + * \param stride Texture stride. If negative, it's calculated internally. + * \param wrap_mode Wrap/Repeat mode to be used. When using 'repeat' or 'mirror', texture dimensions must be a power of two. Otherwise the behavior is undefined. + * + */ +void nema_bind_src2_tex(uintptr_t baseaddr_phys, + uint32_t width, uint32_t height, + nema_tex_format_t format, int32_t stride, nema_tex_mode_t mode); + +/** \brief Program Texture Unit with a destination texture (NEMA_TEX0) + * + * \param baseaddr_phys Address of the destination texture, as seen by the GPU + * \param width Texture width + * \param height Texture hight + * \param format Texture format + * \param stride Texture stride. If negative, it's calculated internally. + * + */ +void nema_bind_dst_tex(uintptr_t baseaddr_phys, + uint32_t width, uint32_t height, + nema_tex_format_t format, int32_t stride); + +/** \brief Program Texture Unit with a lut/palette texture (NEMA_TEX2) and index texture (NEMA_TEX1_) + * + * \param baseaddr_phys Address of the index texture + * \param width Index texture width + * \param height Index texture hight + * \param format Index texture format + * \param stride Index texture stride. If negative, it's calculated internally. + * \param mode Index texture sampling mode. When using 'NEMA_TEX_REPEAT' or 'NEMA_TEX_MIRROR' wrapping mode, + * texture dimensions must be a power of two, otherwise the behavior is undefined. NEMA_FILTER_BL is not supported. + * \param palette_baseaddr_phys Address of the lut/palette texture + * \param palette_format lut/palette texture format + * + */ +void nema_bind_lut_tex( uintptr_t baseaddr_phys, + uint32_t width, uint32_t height, + nema_tex_format_t format, int32_t stride, nema_tex_mode_t mode, + uintptr_t palette_baseaddr_phys, + nema_tex_format_t palette_format); + +/** \brief Bind Depth Buffer + * + * \param baseaddr_phys Address of the depth buffer, as seen by the GPU + * \param width Buffer width + * \param height Buffer hight + * + */ +void nema_bind_depth_buffer(uintptr_t baseaddr_phys, + uint32_t width, uint32_t height); + +/** \private */ +// -------------------------------- DEPTH -------------------------------------- +void nema_set_depth(float start, float dx, float dy); + +// ------------------------------ GRADIENT ------------------------------------- +/** \private */ +void nema_set_gradient(float r_init, float g_init, float b_init, float a_init, + float r_dx, float r_dy, + float g_dx, float g_dy, + float b_dx, float b_dy, + float a_dx, float a_dy); + +// ------------------------------- DRAWING ------------------------------------- +/** \brief Clear destination texture with color + * + * \param rgba8888 32-bit RGBA color + * \see nema_rgba() + * + */ +void nema_clear(uint32_t rgba8888); + +/** \brief Clear depth buffer with specified value + * + * \param val Clear value + * + */ +void nema_clear_depth(uint32_t val); + +/** \brief Draw a colored line + * + * \param x0 x coordinate at the beginning of the line + * \param y0 y coordinate at the beginning of the line + * \param x1 x coordinate at the end of the line + * \param y1 y coordinate at the end of the line + * \param rgba8888 Color to be used + * \see nema_set_blend_fill() + * \see nema_rgba() + * + */ +void nema_draw_line(int x0, int y0, int x1, int y1, uint32_t rgba8888); + + +/** \brief Draw a line with width. Apply AA if available + * + * \param x0 x coordinate at the beginning of the line + * \param y0 y coordinate at the beginning of the line + * \param x1 x coordinate at the end of the line + * \param y1 y coordinate at the end of the line + * \param w line width + * \param rgba8888 Color to be used + * \see nema_draw_line() + * \see nema_set_blend_fill() + * \see nema_rgba() + * + */ +void +nema_draw_line_aa(float x0, float y0, float x1, float y1, float w, + uint32_t rgba8888); + +/** \brief Draw a colored circle with 1 pixel width + * + * \param x x coordinate of the circle's center + * \param y y coordinate of the circle's center + * \param r circle's radius + * \param rgba8888 Color to be used + * \see nema_set_blend_fill() + * \see nema_rgba() + * + */ +void nema_draw_circle(int x, int y, int r, uint32_t rgba8888); + +/** \brief Draw a colored circle with Anti-Aliasing (if available) and specified width + * + * \param x x coordinate of the circle's center + * \param y y coordinate of the circle's center + * \param r circle's radius + * \param w pencil width + * \param rgba8888 Color to be used + * \see nema_set_blend_fill() + * \see nema_rgba() + * + */ +void nema_draw_circle_aa(float x, float y, float r, float w, uint32_t rgba8888); + +/** \brief Draw a colored rectangle with rounded edges + * + * \param x0 x coordinate of the upper left vertex of the rectangle + * \param y0 y coordinate at the upper left vertex of the rectangle + * \param w width of the rectangle + * \param h height of the rectangle + * \param r corner radius + * \param rgba8888 + * \see nema_set_blend_fill() + * \see nema_rgba() + * + */ +void nema_draw_rounded_rect(int x0, int y0, int w, int h, int r, uint32_t rgba8888); + +/** \brief Draw a colored rectangle + * + * \param x x coordinate of the upper left vertex of the rectangle + * \param y y coordinate at the upper left vertex of the rectangle + * \param w width of the rectangle + * \param h height of the rectangle + * \param rgba8888 Color to be used + * \see nema_set_blend_fill() + * \see nema_rgba() + * + */ +void nema_draw_rect(int x, int y, int w, int h, uint32_t rgba8888); + +/** \brief Fill a circle with color + * + * \param x x coordinate of the circle's center + * \param y y coordinate of the circle's center + * \param r circle's radius + * \param rgba8888 Color to be used + * \see nema_set_blend_fill() + * \see nema_rgba() + * + */ +void nema_fill_circle(int x, int y, int r, uint32_t rgba8888); + +/** \brief Fill a circle with color, use Anti-Aliasing if available + * + * \param x x coordinate of the circle's center + * \param y y coordinate of the circle's center + * \param r circle's radius + * \param rgba8888 Color to be used + * \see nema_set_blend_fill() + * \see nema_rgba() + * + */ +void nema_fill_circle_aa(float x, float y, float r, uint32_t rgba8888); + +/** \brief Fill a triangle with color + * + * \param x0 x coordinate at the first vertex of the triangle + * \param y0 y coordinate at the first vertex of the triangle + * \param x1 x coordinate at the second vertex of the triangle + * \param y1 y coordinate at the second vertex of the triangle + * \param x2 x coordinate at the third vertex of the triangle + * \param y2 y coordinate at the third vertex of the triangle + * \param rgba8888 Color to be used + * \see nema_set_blend_fill() + * + */ +void nema_fill_triangle(int x0, int y0, int x1, int y1, int x2, int y2, uint32_t rgba8888); + +/** \brief Fill a rectangle with rounded edges with color + * + * \param x0 x coordinate of the upper left vertex of the rectangle + * \param y0 y coordinate at the upper left vertex of the rectangle + * \param w width of the rectangle + * \param h height of the rectangle + * \param r corner radius + * \param rgba8888 + * \see nema_set_blend_fill() + * \see nema_rgba() + * + */ +void nema_fill_rounded_rect(int x0, int y0, int w, int h, int r, uint32_t rgba8888); + +/** \brief Fill a rectangle with color + * + * \param x x coordinate of the upper left vertex of the rectangle + * \param y y coordinate at the upper left vertex of the rectangle + * \param w width of the rectangle + * \param h height of the rectangle + * \param rgba8888 Color to be used + * \see nema_set_blend_fill() + * \see nema_rgba() + * + */ +void nema_fill_rect(int x, int y, int w, int h, uint32_t rgba8888); + +/** \brief Fill a quadrilateral with color + * + * \param x0 x coordinate at the first vertex of the quadrilateral + * \param y0 y coordinate at the first vertex of the quadrilateral + * \param x1 x coordinate at the second vertex of the quadrilateral + * \param y1 y coordinate at the second vertex of the quadrilateral + * \param x2 x coordinate at the third vertex of the quadrilateral + * \param y2 y coordinate at the third vertex of the quadrilateral + * \param x3 x coordinate at the fourth vertex of the quadrilateral + * \param y3 y coordinate at the fourth vertex of the quadrilateral + * \param rgba8888 Color to be used + * \see nema_set_blend_fill() + * \see nema_rgba() + * + */ +void nema_fill_quad(int x0, int y0, int x1, int y1, int x2, int y2, int x3, int y3, uint32_t rgba8888); + + +/** \brief Fill a rectangle with color (float coordinates) + * + * \param x x coordinate of the upper left vertex of the rectangle + * \param y y coordinate at the upper left vertex of the rectangle + * \param w width of the rectangle + * \param h height of the rectangle + * \param rgba8888 Color to be used + * \see nema_set_blend_fill() + * \see nema_rgba() + * + */ +void nema_fill_rect_f(float x, float y, float w, float h, uint32_t rgba8888); + + +/** \brief Fill a quadrilateral with color (float coordinates) + * + * \param x0 x coordinate at the first vertex of the quadrilateral + * \param y0 y coordinate at the first vertex of the quadrilateral + * \param x1 x coordinate at the second vertex of the quadrilateral + * \param y1 y coordinate at the second vertex of the quadrilateral + * \param x2 x coordinate at the third vertex of the quadrilateral + * \param y2 y coordinate at the third vertex of the quadrilateral + * \param x3 x coordinate at the fourth vertex of the quadrilateral + * \param y3 y coordinate at the fourth vertex of the quadrilateral + * \param rgba8888 Color to be used + * \see nema_set_blend_fill() + * \see nema_rgba() + * + */ +void nema_fill_quad_f(float x0, float y0, float x1, float y1, float x2, float y2, float x3, float y3, uint32_t rgba8888); + + +/** \brief Fill a triangle with color (float coordinates) + * + * \param x0 x coordinate at the first vertex of the triangle + * \param y0 y coordinate at the first vertex of the triangle + * \param x1 x coordinate at the second vertex of the triangle + * \param y1 y coordinate at the second vertex of the triangle + * \param x2 x coordinate at the third vertex of the triangle + * \param y2 y coordinate at the third vertex of the triangle + * \param rgba8888 Color to be used + * \see nema_set_blend_fill() + * + */ +void nema_fill_triangle_f(float x0, float y0, float x1, float y1, float x2, float y2, uint32_t rgba8888); + + +// ------------------------------- BLITTING ------------------------------------ + +/** \brief Blit source texture to destination texture + * + * \param x destination x coordinate + * \param y destination y coordinate + * \see nema_set_blend_fill() + * + */ +void nema_blit (int x, int y); + + +/** \brief Blit source texture to destination texture with rounded corners + * + * \param x destination x coordinate + * \param y destination y coordinate + * \param r destination corner radius + * \see nema_set_blend_fill() + * + */ +void nema_blit_rounded (int x, int y, int r); + +/** \brief Blit source texture to destination's specified rectangle (crop or wrap when needed) + * + * \param x destination x coordinate + * \param y destination y coordinate + * \param w destination width + * \param h destination height + * \see nema_set_blend_blit() + * + */ +void nema_blit_rect (int x, int y, int w, int h); + +/** \brief Blit part of a source texture to destination's specified rectangle (crop or wrap when needed) + * + * \param x destination x coordinate + * \param y destination y coordinate + * \param w destination width + * \param h destination height + * \param x source x coordinate + * \param y source y coordinate + * \see nema_blit_subrect() + * \see nema_set_blend_blit() + * + */ +void nema_blit_subrect(int dst_x, int dst_y, int w, int h, int src_x, int src_y); + +/** \brief Blit source texture to destination. Fit (scale) texture to specified rectangle. + * + * \param x destination x coordinate + * \param y destination y coordinate + * \param w destination width + * \param h destination height + * \see nema_set_blend_blit() + * + */ +void nema_blit_rect_fit(int x, int y, int w, int h); + + +/** \brief Blit part of source texture to destination. Fit (scale) texture to specified rectangle. + * + * \param x destination x coordinate + * \param y destination y coordinate + * \param w destination width + * \param h destination height + * \param x source x coordinate + * \param y source y coordinate + * \param w source width + * \param h source height + * \see nema_blit_rect_fit() + * \see nema_set_blend_blit() + * + */ +void nema_blit_subrect_fit( int dst_x, int dst_y, int dst_w, int dst_h, + int src_x, int src_y, int src_w, int src_h); + +/** \brief Rotate around pivot point and Blit source texture. + * + * \param cx destination rotation center x coordinate + * \param cy destination rotation center y coordinate + * \param px source pivot point x coordinate + * \param py source pivot point y coordinate + * \param degrees_cw degrees of clockwise rotation in range [0, 360] + * \see nema_set_blend_blit() + * + */ +void nema_blit_rotate_pivot( float cx, float cy, + float px, float py, float degrees_cw ); + +/** \brief Rotate and Blit source texture to destination. + * + * \param x destination x coordinate + * \param y destination y coordinate + * \param rotation Rotation to be done + * \see nema_set_blend_blit() + * + */ +void nema_blit_rotate(int x, int y, uint32_t rotation); + +/** \brief Rotate and Blit partial source texture to destination. + * + * \param sx source upper left x coordinate + * \param sy source upper left y coordinate + * \param sw source width of partial region + * \param sh source height of partial region + * \param x destination x coordinate + * \param y destination y coordinate + * \param rotation Rotation to be done + * \see nema_set_blend_blit() + * + */ +void nema_blit_rotate_partial(int sx, int sy, + int sw, int sh, + int x, int y, + uint32_t rotation); + + +/** \brief Blit source texture to destination. Fit texture to specified triangle. + * + * \param dx0 x coordinate at the first vertex of the triangle + * \param dy0 y coordinate at the first vertex of the triangle + * \param v0 in [0, 3] indicates the corner of the texture that fits to the first vertex of the triangle + * 0 _ _ 1 + * |_ _| + * 3 2 + * \param dx1 x coordinate at the second vertex of the triangle + * \param dy1 y coordinate at the second vertex of the triangle + * \param v1 in [0, 3] indicates the corner of the texture that fits to the second vertex of the triangle + * \param dx2 x coordinate at the third vertex of the triangle + * \param dy2 y coordinate at the third vertex of the triangle + * \param v2 in [0, 3] indicates the corner of the texture that fits to the third vertex of the triangle + * \see nema_set_blend_blit() + * + */ +void nema_blit_tri_fit (float dx0, float dy0, int v0, + float dx1, float dy1, int v1, + float dx2, float dy2, int v2); + +/** \brief Blit a triangular part of the source tecture to a triangular destination area + * + * \param dx0 x coordinate at the first vertex of the destination triangle + * \param dy0 y coordinate at the first vertex of the destination triangle + * \param dw0 w coordinate at the first vertex of the destination triangle + * \param dx1 x coordinate at the second vertex of the destination triangle + * \param dy1 y coordinate at the second vertex of the destination triangle + * \param dw1 w coordinate at the second vertex of the destination triangle + * \param dx2 x coordinate at the third vertex of the destination triangle + * \param dy2 y coordinate at the third vertex of the destination triangle + * \param dw2 w coordinate at the third vertex of the destination triangle + * \param sx0 x coordinate at the first vertex of the source triangle + * \param sy0 y coordinate at the first vertex of the source triangle + * \param sx1 x coordinate at the second vertex of the source triangle + * \param sy1 y coordinate at the second vertex of the source triangle + * \param sx2 x coordinate at the third vertex of the source triangle + * \param sy2 y coordinate at the third vertex of the source triangle + * \see nema_set_blend_blit() + * + */ +void nema_blit_tri_uv (float dx0, float dy0, float dw0, + float dx1, float dy1, float dw1, + float dx2, float dy2, float dw2, + float sx0, float sy0, + float sx1, float sy1, + float sx2, float sy2 + ); + +/** \brief Blit source texture to destination. Fit texture to specified quadrilateral. + * + * \param dx0 x coordinate at the first vertex of the quadrilateral + * \param dy0 y coordinate at the first vertex of the quadrilateral + * \param dx1 x coordinate at the second vertex of the quadrilateral + * \param dy1 y coordinate at the second vertex of the quadrilateral + * \param dx2 x coordinate at the third vertex of the quadrilateral + * \param dy2 y coordinate at the third vertex of the quadrilateral + * \param dx3 x coordinate at the fourth vertex of the quadrilateral + * \param dy3 y coordinate at the fourth vertex of the quadrilateral + * \see nema_set_blend_blit() + * \see nema_blit_subrect_quad_fit() + * + */ +void nema_blit_quad_fit (float dx0, float dy0, + float dx1, float dy1, + float dx2, float dy2, + float dx3, float dy3); + +/** \brief Blit source texture to destination. Fit rectangulare area of texture to specified quadrilateral. + * + * \param dx0 x coordinate at the first vertex of the quadrilateral + * \param dy0 y coordinate at the first vertex of the quadrilateral + * \param dx1 x coordinate at the second vertex of the quadrilateral + * \param dy1 y coordinate at the second vertex of the quadrilateral + * \param dx2 x coordinate at the third vertex of the quadrilateral + * \param dy2 y coordinate at the third vertex of the quadrilateral + * \param dx3 x coordinate at the fourth vertex of the quadrilateral + * \param dy3 y coordinate at the fourth vertex of the quadrilateral + * \param sx x coordinate of the top left corner of the texture's rectangular area to be blitted + * \param sy y coordinate of the top left corner of the texture's rectangular area to be blitted + * \param sw width of the texture's rectangular area to be blitted + * \param sh height of the texture's rectangular area to be blitted + * \see nema_set_blend_blit() + * \see nema_blit_quad_fit() + * + */ +void nema_blit_subrect_quad_fit(float dx0, float dy0, + float dx1, float dy1, + float dx2, float dy2, + float dx3, float dy3, + int sx, int sy, + int sw, int sh); + +/** \brief Blit source texture to destination. Use the matrix provided by the user. + * + * \param dx0 x coordinate at the first vertex of the quadrilateral + * \param dy0 y coordinate at the first vertex of the quadrilateral + * \param dx1 x coordinate at the second vertex of the quadrilateral + * \param dy1 y coordinate at the second vertex of the quadrilateral + * \param dx2 x coordinate at the third vertex of the quadrilateral + * \param dy2 y coordinate at the third vertex of the quadrilateral + * \param dx3 x coordinate at the fourth vertex of the quadrilateral + * \param dy3 y coordinate at the fourth vertex of the quadrilateral + * \param m 3x3 matrix (screen coordinates to texture coordinates) + * \see nema_set_blend_blit() + * + */ +void nema_blit_quad_m(float dx0, float dy0, + float dx1, float dy1, + float dx2, float dy2, + float dx3, float dy3, nema_matrix3x3_t m); + + + + +/** \brief Enable breakpoints + * + * \see nema_brk_disable() + * + */ +void nema_brk_enable(void); + +/** \brief Disable breakpoints + * + * \see nema_brk_enable() + * + */ +void nema_brk_disable(void); + + +/** \brief Add a breakpoint to the current Command List + * + * \return Breakpoint ID + * + */ +int nema_brk_add(void); + +/** \brief Add a breakpoint to the current Command List + * + * \param brk_id Breakpoint ID to wait for. If zero (0), wait until next Breakpoint + * \return ID of reached Breakpoint + * + */ +int nema_brk_wait(int brk_id); + +/** \brief Instruct the GPU to resume execution + * + * + */ +void nema_brk_continue(void); + +/** \brief Enable external hold signals + * + * \param hold_id Hold signals to be enabled [0-3] + * \see nema_ext_hold_disable() + * + */ +void nema_ext_hold_enable(uint32_t hold_id); + +/** \brief Disable external hold signals + * + * \param hold_id Hold signals to be disabled [0-3] + * \see nema_ext_hold_enable() + * + */ +void nema_ext_hold_disable(uint32_t hold_id); + +/** \brief Enable Interrupt Request when GPU reaches hold point + * + * \param hold_id Hold signals' IRQ to be enabled [0-3] + * \see nema_ext_hold_disable() + * + */ +void nema_ext_hold_irq_enable(uint32_t hold_id); + +/** \brief Disable external hold signals + * + * \param hold_id Hold signals' IRQ to be disabled [0-3] + * \see nema_ext_hold_enable() + * + */ +void nema_ext_hold_irq_disable(uint32_t hold_id); + + +/** \brief Assert hold signals internally via a Command List + * + * \param hold_id Hold signal to be asserted + * \param stop If not zero, force Command List Processor to wait for FLAG to be deasserted + * \see nema_ext_hold_deassert() + * + */ +void nema_ext_hold_assert(uint32_t hold_id, int stop); + +/** \brief Dessert hold signals internally via a Command List + * + * \param hold_id Hold signal to be deasserted + * \see nema_ext_hold_assert() + * + */ +void nema_ext_hold_deassert(uint32_t hold_id); + +/** \brief Assert hold signals from the CPU (no Command List) + * + * \param hold_id Hold signal to be asserted + * \see nema_ext_hold_deassert() + * + */ +void nema_ext_hold_assert_imm(uint32_t hold_id); + +/** \brief Dessert hold signals from the CPU (no Command List) + * + * \param hold_id Hold signal to be deasserted + * \see nema_ext_hold_assert() + * + */ +void nema_ext_hold_deassert_imm(uint32_t hold_id); + +/** \brief Check for which architeture is the library compiled + * + * \return Returns string with the architecture name + * + */ +const char* nema_get_sw_device_name(void); + + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/libs/nema_gfx/include/nema_hal.h b/libs/nema_gfx/include/nema_hal.h index af2389844..c76ef0463 100644 --- a/libs/nema_gfx/include/nema_hal.h +++ b/libs/nema_gfx/include/nema_hal.h @@ -1,218 +1,218 @@ -/* TSI 2023.xmo */ -/******************************************************************************* - * Copyright (c) 2023 Think Silicon Single Member PC - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this header file and/or associated documentation files to use, copy, - * modify, merge, publish, distribute, sublicense, and/or sell copies of the - * Materials, and to permit persons to whom the Materials are furnished to do - * so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Materials. - * - * MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS - * NEMAGFX API. THE UNMODIFIED, NORMATIVE VERSIONS OF THINK-SILICON NEMAGFX - * SPECIFICATIONS AND HEADER INFORMATION ARE LOCATED AT: - * https://think-silicon.com/products/software/nemagfx-api - * - * The software is provided 'as is', without warranty of any kind, express or - * implied, including but not limited to the warranties of merchantability, - * fitness for a particular purpose and noninfringement. In no event shall - * Think Silicon Single Member PC be liable for any claim, damages or other - * liability, whether in an action of contract, tort or otherwise, arising - * from, out of or in connection with the software or the use or other dealings - * in the software. - ******************************************************************************/ - - -#ifndef NEMA_HAL_H__ -#define NEMA_HAL_H__ - -#include "nema_sys_defs.h" - -#ifdef __cplusplus -extern "C" { -#endif - -typedef struct nema_buffer_t_ { - int size; /**< Size of buffer */ - int fd; /**< File Descriptor of buffer */ - void *base_virt; /**< Virtual address of buffer */ - uintptr_t base_phys; /**< Physical address of buffer */ -} nema_buffer_t; - -/** \brief Initialize system. Implementor defined. Called in nema_init() - * - * \param void - * \return 0 if no errors occurred - * \see nema_init() - * - */ -int32_t nema_sys_init(void); - - -/** \brief Wait for interrupt from the GPU - * - * \param void - * \return 0 on success - * - */ -int nema_wait_irq(void); - -/** \brief Wait for a Command List to finish - * - * \param cl_id Command List ID - * \return 0 on success - * - */ -int nema_wait_irq_cl(int cl_id); - -/** \brief Wait for a Breakpoint - * - * \param cl_id Breakpoint ID - * \return 0 on success - * - */ -int nema_wait_irq_brk(int brk_id); - -/** \brief Read Hardware register - * - * \param reg Register to read - * \return Value read from the register - * \see nema_reg_write - * - */ -uint32_t nema_reg_read(uint32_t reg); - -/** \brief Write Hardware Register - * - * \param reg Register to write - * \param value Value to be written - * \return void() - * \see nema_reg_read() - * - */ -void nema_reg_write(uint32_t reg, uint32_t value); - -/** \brief Create memory buffer - * - * \param size Size of buffer in bytes - * \return nema_buffer_t struct - * - */ -nema_buffer_t nema_buffer_create(int size); - -/** \brief Create memory buffer at a specific pool - * - * \param pool ID of the desired memory pool - * \param size Size of buffer in bytes - * \return nema_buffer_t struct - * - */ -nema_buffer_t nema_buffer_create_pool(int pool, int size); - -/** \brief Maps buffer - * - * \param bo Pointer to buffer struct - * \return Virtual pointer of the buffer (same as in bo->base_virt) - * - */ -void *nema_buffer_map(nema_buffer_t *bo); - -/** \brief Unmaps buffer - * - * \param bo Pointer to buffer struct - * \return void - * - */ -void nema_buffer_unmap(nema_buffer_t *bo); - -/** \brief Destroy/deallocate buffer - * - * \param bo Pointer to buffer struct - * \return void - * - */ -void nema_buffer_destroy(nema_buffer_t *bo); - -/** \brief Get physical (GPU) base address of a given buffer - * - * \param bo Pointer to buffer struct - * \return Physical base address of a given buffer - * - */ -uintptr_t nema_buffer_phys(nema_buffer_t *bo); - -/** \brief Write-back buffer from cache to main memory - * - * \param bo Pointer to buffer struct - * \return void - * - */ -void nema_buffer_flush(nema_buffer_t * bo); - -/** \brief Allocate memory for CPU to use (typically, standard malloc() is called) - * - * \param size Size in bytes - * \return Pointer to allocated memory (virtual) - * \see nema_host_free() - * - */ -void *nema_host_malloc(size_t size); - -/** \brief Free memory previously allocated with nema_host_malloc() - * - * \param ptr Pointer to allocated memory (virtual) - * \return void - * \see nema_host_malloc() - * - */ -void nema_host_free(void *ptr ); - -/** \private */ -typedef struct nema_ringbuffer_t_ { - nema_buffer_t bo; - int offset; //number of 32-bit entries - int last_submission_id; -} nema_ringbuffer_t; - - -/** \brief Initialize Ring Buffer. Should be called from inside nema_sys_init(). - * This is a private function, the user should never call it. - * - * \param *rb Pointer to nema_ring_buffer_t struct - * \param reset Resets the Ring Buffer if non-zero - * \return Negative number on error - * \see nema_sys_init() - * - */ -/** \private */ -int nema_rb_init(nema_ringbuffer_t *rb, int reset); - -#define MUTEX_RB 0 -#define MUTEX_MALLOC 1 -#define MUTEX_FLUSH 2 -#define MUTEX_MAX 2 - -/** \brief Mutex Lock for multiple processes/threads - * - * \param MUTEX_RB or MUTEX_MALLOC - * \return int - * - */ -int nema_mutex_lock(int mutex_id); - -/** \brief Mutex Unlock for multiple processes/threads - * - * \param MUTEX_RB or MUTEX_MALLOC - * \return int - * - */ -int nema_mutex_unlock(int mutex_id); - -#ifdef __cplusplus -} -#endif - -#endif +/* TSI 2023.xmo */ +/******************************************************************************* + * Copyright (c) 2023 Think Silicon Single Member PC + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this header file and/or associated documentation files to use, copy, + * modify, merge, publish, distribute, sublicense, and/or sell copies of the + * Materials, and to permit persons to whom the Materials are furnished to do + * so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Materials. + * + * MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS + * NEMAGFX API. THE UNMODIFIED, NORMATIVE VERSIONS OF THINK-SILICON NEMAGFX + * SPECIFICATIONS AND HEADER INFORMATION ARE LOCATED AT: + * https://think-silicon.com/products/software/nemagfx-api + * + * The software is provided 'as is', without warranty of any kind, express or + * implied, including but not limited to the warranties of merchantability, + * fitness for a particular purpose and noninfringement. In no event shall + * Think Silicon Single Member PC be liable for any claim, damages or other + * liability, whether in an action of contract, tort or otherwise, arising + * from, out of or in connection with the software or the use or other dealings + * in the software. + ******************************************************************************/ + + +#ifndef NEMA_HAL_H__ +#define NEMA_HAL_H__ + +#include "nema_sys_defs.h" + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct nema_buffer_t_ { + int size; /**< Size of buffer */ + int fd; /**< File Descriptor of buffer */ + void *base_virt; /**< Virtual address of buffer */ + uintptr_t base_phys; /**< Physical address of buffer */ +} nema_buffer_t; + +/** \brief Initialize system. Implementor defined. Called in nema_init() + * + * \param void + * \return 0 if no errors occurred + * \see nema_init() + * + */ +int32_t nema_sys_init(void); + + +/** \brief Wait for interrupt from the GPU + * + * \param void + * \return 0 on success + * + */ +int nema_wait_irq(void); + +/** \brief Wait for a Command List to finish + * + * \param cl_id Command List ID + * \return 0 on success + * + */ +int nema_wait_irq_cl(int cl_id); + +/** \brief Wait for a Breakpoint + * + * \param cl_id Breakpoint ID + * \return 0 on success + * + */ +int nema_wait_irq_brk(int brk_id); + +/** \brief Read Hardware register + * + * \param reg Register to read + * \return Value read from the register + * \see nema_reg_write + * + */ +uint32_t nema_reg_read(uint32_t reg); + +/** \brief Write Hardware Register + * + * \param reg Register to write + * \param value Value to be written + * \return void() + * \see nema_reg_read() + * + */ +void nema_reg_write(uint32_t reg, uint32_t value); + +/** \brief Create memory buffer + * + * \param size Size of buffer in bytes + * \return nema_buffer_t struct + * + */ +nema_buffer_t nema_buffer_create(int size); + +/** \brief Create memory buffer at a specific pool + * + * \param pool ID of the desired memory pool + * \param size Size of buffer in bytes + * \return nema_buffer_t struct + * + */ +nema_buffer_t nema_buffer_create_pool(int pool, int size); + +/** \brief Maps buffer + * + * \param bo Pointer to buffer struct + * \return Virtual pointer of the buffer (same as in bo->base_virt) + * + */ +void *nema_buffer_map(nema_buffer_t *bo); + +/** \brief Unmaps buffer + * + * \param bo Pointer to buffer struct + * \return void + * + */ +void nema_buffer_unmap(nema_buffer_t *bo); + +/** \brief Destroy/deallocate buffer + * + * \param bo Pointer to buffer struct + * \return void + * + */ +void nema_buffer_destroy(nema_buffer_t *bo); + +/** \brief Get physical (GPU) base address of a given buffer + * + * \param bo Pointer to buffer struct + * \return Physical base address of a given buffer + * + */ +uintptr_t nema_buffer_phys(nema_buffer_t *bo); + +/** \brief Write-back buffer from cache to main memory + * + * \param bo Pointer to buffer struct + * \return void + * + */ +void nema_buffer_flush(nema_buffer_t * bo); + +/** \brief Allocate memory for CPU to use (typically, standard malloc() is called) + * + * \param size Size in bytes + * \return Pointer to allocated memory (virtual) + * \see nema_host_free() + * + */ +void *nema_host_malloc(size_t size); + +/** \brief Free memory previously allocated with nema_host_malloc() + * + * \param ptr Pointer to allocated memory (virtual) + * \return void + * \see nema_host_malloc() + * + */ +void nema_host_free(void *ptr ); + +/** \private */ +typedef struct nema_ringbuffer_t_ { + nema_buffer_t bo; + int offset; //number of 32-bit entries + int last_submission_id; +} nema_ringbuffer_t; + + +/** \brief Initialize Ring Buffer. Should be called from inside nema_sys_init(). + * This is a private function, the user should never call it. + * + * \param *rb Pointer to nema_ring_buffer_t struct + * \param reset Resets the Ring Buffer if non-zero + * \return Negative number on error + * \see nema_sys_init() + * + */ +/** \private */ +int nema_rb_init(nema_ringbuffer_t *rb, int reset); + +#define MUTEX_RB 0 +#define MUTEX_MALLOC 1 +#define MUTEX_FLUSH 2 +#define MUTEX_MAX 2 + +/** \brief Mutex Lock for multiple processes/threads + * + * \param MUTEX_RB or MUTEX_MALLOC + * \return int + * + */ +int nema_mutex_lock(int mutex_id); + +/** \brief Mutex Unlock for multiple processes/threads + * + * \param MUTEX_RB or MUTEX_MALLOC + * \return int + * + */ +int nema_mutex_unlock(int mutex_id); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/libs/nema_gfx/include/nema_interpolators.h b/libs/nema_gfx/include/nema_interpolators.h index f3058a41e..aa267cc38 100644 --- a/libs/nema_gfx/include/nema_interpolators.h +++ b/libs/nema_gfx/include/nema_interpolators.h @@ -1,122 +1,122 @@ -/* TSI 2023.xmo */ -/******************************************************************************* - * Copyright (c) 2023 Think Silicon Single Member PC - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this header file and/or associated documentation files to use, copy, - * modify, merge, publish, distribute, sublicense, and/or sell copies of the - * Materials, and to permit persons to whom the Materials are furnished to do - * so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Materials. - * - * MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS - * NEMAGFX API. THE UNMODIFIED, NORMATIVE VERSIONS OF THINK-SILICON NEMAGFX - * SPECIFICATIONS AND HEADER INFORMATION ARE LOCATED AT: - * https://think-silicon.com/products/software/nemagfx-api - * - * The software is provided 'as is', without warranty of any kind, express or - * implied, including but not limited to the warranties of merchantability, - * fitness for a particular purpose and noninfringement. In no event shall - * Think Silicon Single Member PC be liable for any claim, damages or other - * liability, whether in an action of contract, tort or otherwise, arising - * from, out of or in connection with the software or the use or other dealings - * in the software. - ******************************************************************************/ - - -#ifndef _NEMA_INTERPOLATORS_H_ -#define _NEMA_INTERPOLATORS_H_ - -#ifdef __cplusplus -extern "C" { -#endif - -#include "nema_sys_defs.h" - -typedef struct _color_var_t { - float r; /**< Red */ - float g; /**< Green */ - float b; /**< Blue */ - float a; /**< Alpha */ -} color_var_t; - -/** \brief Interpolate color gradient for rectangle - * - * \param x0 x coordinate of the upper left vertex of the rectangle - * \param y0 y coordinate at the upper left vertex of the rectangle - * \param w width of the rectangle - * \param h height of the rectangle - * \param col0 color for the first vertex - * \param col1 color for the second vertex - * \param col1 color for the third vertex - * - */ -void nema_interpolate_rect_colors(int x0, int y0, int w, int h, color_var_t* col0, color_var_t* col1, color_var_t* col2); - - -/** \brief Interpolate color gradient for triangle - * - * \details The upper left vertex of the triangle to be drawn - * must be in the vertex arguments as well. In addition, if - * clipping is applied for rendering a triangle with gradient, - * the upper left vertex must be within the clipping area. - * \param x0 x coordinate at the first vertex of the triangle - * \param y0 y coordinate at the first vertex of the triangle - * \param x1 x coordinate at the second vertex of the triangle - * \param y1 y coordinate at the second vertex of the triangle - * \param x2 x coordinate at the third vertex of the triangle - * \param y2 y coordinate at the third vertex of the triangle - * \param col0 color for the first vertex - * \param col1 color for the second vertex - * \param col1 color for the third vertex - * - */ -void nema_interpolate_tri_colors(float x0, float y0, float x1, float y1, float x2, float y2, color_var_t* col0, color_var_t* col1, color_var_t* col2); - -/** \brief Interpolate depth buffer values for triangle - * - * \param x0 x coordinate at the first vertex of the triangle - * \param y0 y coordinate at the first vertex of the triangle - * \param z0 z coordinate at the first vertex of the triangle - * \param x1 x coordinate at the second vertex of the triangle - * \param y1 y coordinate at the second vertex of the triangle - * \param z1 z coordinate at the second vertex of the triangle - * \param x2 x coordinate at the third vertex of the triangle - * \param y2 y coordinate at the third vertex of the triangle - * \param z2 z coordinate at the third vertex of the triangle - * - */ -void nema_interpolate_tri_depth(float x0, float y0, float z0, float x1, float y1, float z1, float x2, float y2, float z2); - -/** \brief Interpolate texture values for triangle - * - * \param x0 x coordinate at the first vertex of the triangle - * \param y0 y coordinate at the first vertex of the triangle - * \param w0 w coordinate at the first vertex of the triangle - * \param tx0 x texture coordinate at the first vertex of the triangle - * \param ty0 y texture coordinate at the first vertex of the triangle - * \param x1 x coordinate at the second vertex of the triangle - * \param y1 y coordinate at the second vertex of the triangle - * \param w1 w coordinate at the second vertex of the triangle - * \param tx1 x texture coordinate at the second vertex of the triangle - * \param ty1 y texture coordinate at the second vertex of the triangle - * \param x2 x coordinate at the third vertex of the triangle - * \param y2 y coordinate at the third vertex of the triangle - * \param w2 w coordinate at the third vertex of the triangle - * \param tx2 x texture coordinate at the third vertex of the triangle - * \param ty2 x texture coordinate at the third vertex of the triangle - * \param tex_width texture width - * \param tex_height texture height - * - */ -void nema_interpolate_tx_ty(float x0, float y0, float w0, float tx0, float ty0, - float x1, float y1, float w1, float tx1, float ty1, - float x2, float y2, float w2, float tx2, float ty2, - int tex_width, int tex_height ); -#ifdef __cplusplus -} -#endif - -#endif // _NEMA_INTERPOLATORS_H_ +/* TSI 2023.xmo */ +/******************************************************************************* + * Copyright (c) 2023 Think Silicon Single Member PC + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this header file and/or associated documentation files to use, copy, + * modify, merge, publish, distribute, sublicense, and/or sell copies of the + * Materials, and to permit persons to whom the Materials are furnished to do + * so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Materials. + * + * MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS + * NEMAGFX API. THE UNMODIFIED, NORMATIVE VERSIONS OF THINK-SILICON NEMAGFX + * SPECIFICATIONS AND HEADER INFORMATION ARE LOCATED AT: + * https://think-silicon.com/products/software/nemagfx-api + * + * The software is provided 'as is', without warranty of any kind, express or + * implied, including but not limited to the warranties of merchantability, + * fitness for a particular purpose and noninfringement. In no event shall + * Think Silicon Single Member PC be liable for any claim, damages or other + * liability, whether in an action of contract, tort or otherwise, arising + * from, out of or in connection with the software or the use or other dealings + * in the software. + ******************************************************************************/ + + +#ifndef _NEMA_INTERPOLATORS_H_ +#define _NEMA_INTERPOLATORS_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +#include "nema_sys_defs.h" + +typedef struct _color_var_t { + float r; /**< Red */ + float g; /**< Green */ + float b; /**< Blue */ + float a; /**< Alpha */ +} color_var_t; + +/** \brief Interpolate color gradient for rectangle + * + * \param x0 x coordinate of the upper left vertex of the rectangle + * \param y0 y coordinate at the upper left vertex of the rectangle + * \param w width of the rectangle + * \param h height of the rectangle + * \param col0 color for the first vertex + * \param col1 color for the second vertex + * \param col1 color for the third vertex + * + */ +void nema_interpolate_rect_colors(int x0, int y0, int w, int h, color_var_t* col0, color_var_t* col1, color_var_t* col2); + + +/** \brief Interpolate color gradient for triangle + * + * \details The upper left vertex of the triangle to be drawn + * must be in the vertex arguments as well. In addition, if + * clipping is applied for rendering a triangle with gradient, + * the upper left vertex must be within the clipping area. + * \param x0 x coordinate at the first vertex of the triangle + * \param y0 y coordinate at the first vertex of the triangle + * \param x1 x coordinate at the second vertex of the triangle + * \param y1 y coordinate at the second vertex of the triangle + * \param x2 x coordinate at the third vertex of the triangle + * \param y2 y coordinate at the third vertex of the triangle + * \param col0 color for the first vertex + * \param col1 color for the second vertex + * \param col1 color for the third vertex + * + */ +void nema_interpolate_tri_colors(float x0, float y0, float x1, float y1, float x2, float y2, color_var_t* col0, color_var_t* col1, color_var_t* col2); + +/** \brief Interpolate depth buffer values for triangle + * + * \param x0 x coordinate at the first vertex of the triangle + * \param y0 y coordinate at the first vertex of the triangle + * \param z0 z coordinate at the first vertex of the triangle + * \param x1 x coordinate at the second vertex of the triangle + * \param y1 y coordinate at the second vertex of the triangle + * \param z1 z coordinate at the second vertex of the triangle + * \param x2 x coordinate at the third vertex of the triangle + * \param y2 y coordinate at the third vertex of the triangle + * \param z2 z coordinate at the third vertex of the triangle + * + */ +void nema_interpolate_tri_depth(float x0, float y0, float z0, float x1, float y1, float z1, float x2, float y2, float z2); + +/** \brief Interpolate texture values for triangle + * + * \param x0 x coordinate at the first vertex of the triangle + * \param y0 y coordinate at the first vertex of the triangle + * \param w0 w coordinate at the first vertex of the triangle + * \param tx0 x texture coordinate at the first vertex of the triangle + * \param ty0 y texture coordinate at the first vertex of the triangle + * \param x1 x coordinate at the second vertex of the triangle + * \param y1 y coordinate at the second vertex of the triangle + * \param w1 w coordinate at the second vertex of the triangle + * \param tx1 x texture coordinate at the second vertex of the triangle + * \param ty1 y texture coordinate at the second vertex of the triangle + * \param x2 x coordinate at the third vertex of the triangle + * \param y2 y coordinate at the third vertex of the triangle + * \param w2 w coordinate at the third vertex of the triangle + * \param tx2 x texture coordinate at the third vertex of the triangle + * \param ty2 x texture coordinate at the third vertex of the triangle + * \param tex_width texture width + * \param tex_height texture height + * + */ +void nema_interpolate_tx_ty(float x0, float y0, float w0, float tx0, float ty0, + float x1, float y1, float w1, float tx1, float ty1, + float x2, float y2, float w2, float tx2, float ty2, + int tex_width, int tex_height ); +#ifdef __cplusplus +} +#endif + +#endif // _NEMA_INTERPOLATORS_H_ diff --git a/libs/nema_gfx/include/nema_math.h b/libs/nema_gfx/include/nema_math.h index abc3d4ce4..3bc3862a6 100644 --- a/libs/nema_gfx/include/nema_math.h +++ b/libs/nema_gfx/include/nema_math.h @@ -1,278 +1,278 @@ -/* TSI 2023.xmo */ -/******************************************************************************* - * Copyright (c) 2023 Think Silicon Single Member PC - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this header file and/or associated documentation files to use, copy, - * modify, merge, publish, distribute, sublicense, and/or sell copies of the - * Materials, and to permit persons to whom the Materials are furnished to do - * so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Materials. - * - * MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS - * NEMAGFX API. THE UNMODIFIED, NORMATIVE VERSIONS OF THINK-SILICON NEMAGFX - * SPECIFICATIONS AND HEADER INFORMATION ARE LOCATED AT: - * https://think-silicon.com/products/software/nemagfx-api - * - * The software is provided 'as is', without warranty of any kind, express or - * implied, including but not limited to the warranties of merchantability, - * fitness for a particular purpose and noninfringement. In no event shall - * Think Silicon Single Member PC be liable for any claim, damages or other - * liability, whether in an action of contract, tort or otherwise, arising - * from, out of or in connection with the software or the use or other dealings - * in the software. - ******************************************************************************/ - - -#ifndef NEMA_MATH_H__ -#define NEMA_MATH_H__ - -#ifdef __cplusplus -extern "C" { -#endif - -#define NEMA_E 2.71828182845904523536f /**< e */ -#define NEMA_LOG2E 1.44269504088896340736f /**< log2(e) */ -#define NEMA_LOG10E 0.434294481903251827651f /**< log10(e) */ -#define NEMA_LN2 0.693147180559945309417f /**< ln(2) */ -#define NEMA_LN10 2.30258509299404568402f /**< ln(10) */ -#define NEMA_PI 3.14159265358979323846f /**< pi */ -#define NEMA_PI_2 1.57079632679489661923f /**< pi/2 */ -#define NEMA_PI_4 0.785398163397448309616f /**< pi/4 */ -#define NEMA_1_PI 0.318309886183790671538f /**< 1/pi */ -#define NEMA_2_PI 0.636619772367581343076f /**< 2/pi */ -#define NEMA_2_SQRTPI 1.12837916709551257390f /**< 2/sqrt(pi) */ -#define NEMA_SQRT2 1.41421356237309504880f /**< sqrt(2) */ -#define NEMA_SQRT1_2 0.707106781186547524401f /**< 1/sqrt(2) */ - -/** \brief Fast sine approximation of a given angle - * - * \param angle_degrees Angle in degrees - * \return Sine of the given angle - * - */ -float nema_sin(float angle_degrees); - - -/** \brief Fast cosine approximation of a given angle - * - * \param angle_degrees Angle in degrees - * \return Cosine of the given angle - * - */ -float nema_cos(float angle_degrees); - -/** \brief Fast tangent approximation of a given angle - * - * \param angle_degrees Angle in degrees - * \return Tangent of the given angle - * - */ -float nema_tan(float angle_degrees); - - -/** \brief Fast sine approximation of a given angle - * - * \param angle_radians Angle in radians - * \return Sine of the given angle - * - */ -float nema_sin_r(float angle_radians); - - -/** \brief Fast cosine approximation of a given angle - * - * \param angle_radians Angle in radians - * \return Cosine of the given angle - * - */ -float nema_cos_r(float angle_radians); - -/** \brief Fast tangent approximation of a given angle - * - * \param angle_radians Angle in radians - * \return Tangent of the given angle - * - */ -float nema_tan_r(float angle_radians); - -/** \brief Fast arc tangent approximation of a y/x - * - * \param y value - * \param x value - * \return Arc tangent of the given y/x in degrees - * - */ -float nema_atan2(float y, float x); - -/** \brief Fast arc tangent approximation of a y/x - * - * \param y value - * \param x value - * \return Arc tangent of the given y/x in radians - * - */ -float nema_atan2_r(float y, float x); - -/** \brief A rough approximation of x raised to the power of y. USE WITH CAUTION! - * - * \param x base value. Must be non negative. - * \param y power value - * \return the result of raising x to the power y - * - */ -float nema_pow(float x, float y); - -/** \brief A rough approximation of the square root of x. USE WITH CAUTION! - * - * \param x X value. Must be non negative - * \param - * \return The square root of x - * - */ -float nema_sqrt(float x); - - -/** \brief A floating-point approximation of the inverse tangent of x - * - * \param x X value - * \return Inverse tangent (angle) of x in degrees - * - */ -float nema_atan(float x); - -/** \brief Find the minimum of two values - * - * \param a First value - * \param b Second value - * \return The minimum of a and b - * - */ -#define nema_min2(a,b) (((a)<(b))?( a):(b)) - -/** \brief Find the maximum of two values - * - * \param a First value - * \param b Second value - * \return The maximum of a and b - * - */ -#define nema_max2(a,b) (((a)>(b))?( a):(b)) - -/** \brief Clamp value - * - * \param val Value to clamp - * \param min Minimum value - * \param max Minimum value - * \return Clamped value - * - */ -#define nema_clamp(val, min, max) nema_min2((max), nema_max2((min), (val))) - -/** \brief Calculate the absolute value of int - * - * \param a Value - * \return The absolute value of a - * - */ -#define nema_abs(a) (((a)< 0 )?(-(a)):(a)) - -/** \brief Calculate the absolute value of float - * - * \param a Value - * \return The absolute value of a - * - */ -#define nema_absf(a) (((a)< 0.f )?(-(a)):(a)) - - -/** \brief Compare two floats - * - * \param x First float - * \param y Second float - * \return 1 if x == y, 0 if x != y - * - */ -#define nema_floats_equal(x, y) (nema_absf((x) - (y)) <= 0.00001f * nema_min2(nema_absf(x), nema_absf(y))) - -/** \brief Checks if value x is zero - * - * \param x X value - * \return 1 if x == 0, 0 if x != 0 - * - */ -#define nema_float_is_zero(x) (nema_absf(x) <= 0.00001f) - -/** \brief Convert degrees to radians - * - * \param d Angle in degrees - * \return Angle in radians - * - */ -#define nema_deg_to_rad(d) (0.0174532925199f * (d)) //rad = deg * pi / 180 - -/** \brief Convert radians to degries - * - * \param r Angle in radians - * \return Angle in degrees - * - */ -#define nema_rad_to_deg(r) (57.295779513f * (r)) //deg = rad * 180 / pi - -/** \brief Convert integer to 16.16 fixed point - * - * \param a Value to be converted - * \return 16.16 fixed point value - * - */ -#define nema_i2fx(a) ((a)*0x10000) - -/** \brief Convert float to 16.16 fixed point - * - * \param a Value to be converted - * \return 16.16 fixed point value - * - */ -// #define nema_f2fx(a) ((int)(((a)*((float)0x10000)+0.5f))) -int nema_f2fx(float f); // ((int)(((a)*((float)0x10000)+0.5f))) - -/** \brief Floor function - * - * \param a Value to be floored - * \return floored value - * - */ -#define nema_floor(f) ((int)(f) - ( (int)(f) > (f) )) - -/** \brief Ceiling function - * - * \param a Value to be ceiled - * \return ceiled value - * - */ -#define nema_ceil(f) ((int)(f) + ( (int)(f) < (f) )) - -/** \brief Truncate function - * - * \param x Value to be truncated - * \return truncated value - * - */ -#define nema_truncf(x) (x < 0.0f ? nema_ceil(x) : nema_floor(x)) - -/** \brief Float Modulo function - * - * \param x Dividend - * \param y Divisor - * \return Remainder - * - */ -#define nema_fmod(x, y) (x - nema_truncf(x / y) * y) - -#ifdef __cplusplus -} -#endif - -#endif +/* TSI 2023.xmo */ +/******************************************************************************* + * Copyright (c) 2023 Think Silicon Single Member PC + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this header file and/or associated documentation files to use, copy, + * modify, merge, publish, distribute, sublicense, and/or sell copies of the + * Materials, and to permit persons to whom the Materials are furnished to do + * so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Materials. + * + * MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS + * NEMAGFX API. THE UNMODIFIED, NORMATIVE VERSIONS OF THINK-SILICON NEMAGFX + * SPECIFICATIONS AND HEADER INFORMATION ARE LOCATED AT: + * https://think-silicon.com/products/software/nemagfx-api + * + * The software is provided 'as is', without warranty of any kind, express or + * implied, including but not limited to the warranties of merchantability, + * fitness for a particular purpose and noninfringement. In no event shall + * Think Silicon Single Member PC be liable for any claim, damages or other + * liability, whether in an action of contract, tort or otherwise, arising + * from, out of or in connection with the software or the use or other dealings + * in the software. + ******************************************************************************/ + + +#ifndef NEMA_MATH_H__ +#define NEMA_MATH_H__ + +#ifdef __cplusplus +extern "C" { +#endif + +#define NEMA_E 2.71828182845904523536f /**< e */ +#define NEMA_LOG2E 1.44269504088896340736f /**< log2(e) */ +#define NEMA_LOG10E 0.434294481903251827651f /**< log10(e) */ +#define NEMA_LN2 0.693147180559945309417f /**< ln(2) */ +#define NEMA_LN10 2.30258509299404568402f /**< ln(10) */ +#define NEMA_PI 3.14159265358979323846f /**< pi */ +#define NEMA_PI_2 1.57079632679489661923f /**< pi/2 */ +#define NEMA_PI_4 0.785398163397448309616f /**< pi/4 */ +#define NEMA_1_PI 0.318309886183790671538f /**< 1/pi */ +#define NEMA_2_PI 0.636619772367581343076f /**< 2/pi */ +#define NEMA_2_SQRTPI 1.12837916709551257390f /**< 2/sqrt(pi) */ +#define NEMA_SQRT2 1.41421356237309504880f /**< sqrt(2) */ +#define NEMA_SQRT1_2 0.707106781186547524401f /**< 1/sqrt(2) */ + +/** \brief Fast sine approximation of a given angle + * + * \param angle_degrees Angle in degrees + * \return Sine of the given angle + * + */ +float nema_sin(float angle_degrees); + + +/** \brief Fast cosine approximation of a given angle + * + * \param angle_degrees Angle in degrees + * \return Cosine of the given angle + * + */ +float nema_cos(float angle_degrees); + +/** \brief Fast tangent approximation of a given angle + * + * \param angle_degrees Angle in degrees + * \return Tangent of the given angle + * + */ +float nema_tan(float angle_degrees); + + +/** \brief Fast sine approximation of a given angle + * + * \param angle_radians Angle in radians + * \return Sine of the given angle + * + */ +float nema_sin_r(float angle_radians); + + +/** \brief Fast cosine approximation of a given angle + * + * \param angle_radians Angle in radians + * \return Cosine of the given angle + * + */ +float nema_cos_r(float angle_radians); + +/** \brief Fast tangent approximation of a given angle + * + * \param angle_radians Angle in radians + * \return Tangent of the given angle + * + */ +float nema_tan_r(float angle_radians); + +/** \brief Fast arc tangent approximation of a y/x + * + * \param y value + * \param x value + * \return Arc tangent of the given y/x in degrees + * + */ +float nema_atan2(float y, float x); + +/** \brief Fast arc tangent approximation of a y/x + * + * \param y value + * \param x value + * \return Arc tangent of the given y/x in radians + * + */ +float nema_atan2_r(float y, float x); + +/** \brief A rough approximation of x raised to the power of y. USE WITH CAUTION! + * + * \param x base value. Must be non negative. + * \param y power value + * \return the result of raising x to the power y + * + */ +float nema_pow(float x, float y); + +/** \brief A rough approximation of the square root of x. USE WITH CAUTION! + * + * \param x X value. Must be non negative + * \param + * \return The square root of x + * + */ +float nema_sqrt(float x); + + +/** \brief A floating-point approximation of the inverse tangent of x + * + * \param x X value + * \return Inverse tangent (angle) of x in degrees + * + */ +float nema_atan(float x); + +/** \brief Find the minimum of two values + * + * \param a First value + * \param b Second value + * \return The minimum of a and b + * + */ +#define nema_min2(a,b) (((a)<(b))?( a):(b)) + +/** \brief Find the maximum of two values + * + * \param a First value + * \param b Second value + * \return The maximum of a and b + * + */ +#define nema_max2(a,b) (((a)>(b))?( a):(b)) + +/** \brief Clamp value + * + * \param val Value to clamp + * \param min Minimum value + * \param max Minimum value + * \return Clamped value + * + */ +#define nema_clamp(val, min, max) nema_min2((max), nema_max2((min), (val))) + +/** \brief Calculate the absolute value of int + * + * \param a Value + * \return The absolute value of a + * + */ +#define nema_abs(a) (((a)< 0 )?(-(a)):(a)) + +/** \brief Calculate the absolute value of float + * + * \param a Value + * \return The absolute value of a + * + */ +#define nema_absf(a) (((a)< 0.f )?(-(a)):(a)) + + +/** \brief Compare two floats + * + * \param x First float + * \param y Second float + * \return 1 if x == y, 0 if x != y + * + */ +#define nema_floats_equal(x, y) (nema_absf((x) - (y)) <= 0.00001f * nema_min2(nema_absf(x), nema_absf(y))) + +/** \brief Checks if value x is zero + * + * \param x X value + * \return 1 if x == 0, 0 if x != 0 + * + */ +#define nema_float_is_zero(x) (nema_absf(x) <= 0.00001f) + +/** \brief Convert degrees to radians + * + * \param d Angle in degrees + * \return Angle in radians + * + */ +#define nema_deg_to_rad(d) (0.0174532925199f * (d)) //rad = deg * pi / 180 + +/** \brief Convert radians to degries + * + * \param r Angle in radians + * \return Angle in degrees + * + */ +#define nema_rad_to_deg(r) (57.295779513f * (r)) //deg = rad * 180 / pi + +/** \brief Convert integer to 16.16 fixed point + * + * \param a Value to be converted + * \return 16.16 fixed point value + * + */ +#define nema_i2fx(a) ((a)*0x10000) + +/** \brief Convert float to 16.16 fixed point + * + * \param a Value to be converted + * \return 16.16 fixed point value + * + */ +// #define nema_f2fx(a) ((int)(((a)*((float)0x10000)+0.5f))) +int nema_f2fx(float f); // ((int)(((a)*((float)0x10000)+0.5f))) + +/** \brief Floor function + * + * \param a Value to be floored + * \return floored value + * + */ +#define nema_floor(f) ((int)(f) - ( (int)(f) > (f) )) + +/** \brief Ceiling function + * + * \param a Value to be ceiled + * \return ceiled value + * + */ +#define nema_ceil(f) ((int)(f) + ( (int)(f) < (f) )) + +/** \brief Truncate function + * + * \param x Value to be truncated + * \return truncated value + * + */ +#define nema_truncf(x) (x < 0.0f ? nema_ceil(x) : nema_floor(x)) + +/** \brief Float Modulo function + * + * \param x Dividend + * \param y Divisor + * \return Remainder + * + */ +#define nema_fmod(x, y) ( (x) - nema_truncf( ( (x) / (y) ) ) * (y) ) + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/libs/nema_gfx/include/nema_matrix3x3.h b/libs/nema_gfx/include/nema_matrix3x3.h index 7686065b2..ba6d4d6b6 100644 --- a/libs/nema_gfx/include/nema_matrix3x3.h +++ b/libs/nema_gfx/include/nema_matrix3x3.h @@ -1,230 +1,230 @@ -/* TSI 2023.xmo */ -/******************************************************************************* - * Copyright (c) 2023 Think Silicon Single Member PC - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this header file and/or associated documentation files to use, copy, - * modify, merge, publish, distribute, sublicense, and/or sell copies of the - * Materials, and to permit persons to whom the Materials are furnished to do - * so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Materials. - * - * MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS - * NEMAGFX API. THE UNMODIFIED, NORMATIVE VERSIONS OF THINK-SILICON NEMAGFX - * SPECIFICATIONS AND HEADER INFORMATION ARE LOCATED AT: - * https://think-silicon.com/products/software/nemagfx-api - * - * The software is provided 'as is', without warranty of any kind, express or - * implied, including but not limited to the warranties of merchantability, - * fitness for a particular purpose and noninfringement. In no event shall - * Think Silicon Single Member PC be liable for any claim, damages or other - * liability, whether in an action of contract, tort or otherwise, arising - * from, out of or in connection with the software or the use or other dealings - * in the software. - ******************************************************************************/ - - -#ifndef NEMA_MATRIX3X3_H__ -#define NEMA_MATRIX3X3_H__ - -#ifdef __cplusplus -extern "C" { -#endif - -typedef float nema_matrix3x3_t[3][3]; - - -/** \brief Load Identity Matrix - * - * \param m Matrix to be loaded - * - */ -void nema_mat3x3_load_identity(nema_matrix3x3_t m); - - -/** \brief Copy matrix _m to matrix m - * - * \param m Destination matrix - * \param m Source matrix - * - */ -void -nema_mat3x3_copy(nema_matrix3x3_t m, nema_matrix3x3_t _m); - -/** \brief Apply translate transformation - * - * \param m Matrix to apply transformation - * \param tx X translation factor - * \param ty Y translation factor - * - */ -void nema_mat3x3_translate (nema_matrix3x3_t m, float tx, float ty); - -/** \brief Apply scale transformation - * - * \param m Matrix to apply transformation - * \param sx X scaling factor - * \param sy Y scaling factor - * - */ -void nema_mat3x3_scale (nema_matrix3x3_t m, float sx, float sy); - -/** \brief Apply shear transformation - * - * \param m Matrix to apply transformation - * \param shx X shearing factor - * \param shy Y shearing factor - * - */ -void nema_mat3x3_shear (nema_matrix3x3_t m, float shx, float shy); - -/** \brief Apply mirror transformation - * - * \param m Matrix to apply transformation - * \param mx if non-zero, mirror horizontally - * \param my if non-zero, mirror vertically - * - */ -void nema_mat3x3_mirror (nema_matrix3x3_t m, int mx, int my); - -/** \brief Apply rotation transformation - * - * \param m Matrix to apply transformation - * \param angle_degrees Angle to rotate in degrees - * - */ -void nema_mat3x3_rotate (nema_matrix3x3_t m, float angle_degrees); - -/** \brief Apply rotation transformation - * - * \param m Matrix to apply transformation - * \param cosa Cos of angle to rotate - * \param sina Sin of angle to rotate - * - */ -void -nema_mat3x3_rotate2(nema_matrix3x3_t m, float cosa, float sina); - - -/** \brief Multiply two 3x3 matrices ( m = m*_m) - * - * \param m left matrix, will be overwritten by the result - * \param _m right matrix - * - */ -void nema_mat3x3_mul(nema_matrix3x3_t m, nema_matrix3x3_t _m); - -/** \brief Multiply vector with matrix - * - * \param m Matrix to multiply with - * \param x Vector x coefficient - * \param y Vector y coefficient - * - */ -void nema_mat3x3_mul_vec(nema_matrix3x3_t m, float *x, float *y); - -/** \brief Multiply vector with affine matrix - * - * \param m Matrix to multiply with - * \param x Vector x coefficient - * \param y Vector y coefficient - * - */ -void nema_mat3x3_mul_vec_affine(nema_matrix3x3_t m, float *x, float *y); - -/** \brief Calculate adjoint - * - * \param m Matrix - * - */ -void nema_mat3x3_adj(nema_matrix3x3_t m); - - -/** \brief Divide matrix with scalar value - * - * \param m Matrix to divide - * \param s scalar value - * - */ -void nema_mat3x3_div_scalar(nema_matrix3x3_t m, float s); - -/** \brief Invert matrix - * - * \param m Matrix to invert - * - */ -int nema_mat3x3_invert(nema_matrix3x3_t m); - -/** \private */ -int nema_mat3x3_square_to_quad(float dx0, float dy0, - float dx1, float dy1, - float dx2, float dy2, - float dx3, float dy3, - nema_matrix3x3_t m); - -/** \brief Map rectangle to quadrilateral - * - * \param width Rectangle width - * \param height Rectangle height - * \param sx0 x coordinate at the first vertex of the quadrilateral - * \param sy0 y coordinate at the first vertex of the quadrilateral - * \param sx1 x coordinate at the second vertex of the quadrilateral - * \param sy1 y coordinate at the second vertex of the quadrilateral - * \param sx2 x coordinate at the third vertex of the quadrilateral - * \param sy2 y coordinate at the third vertex of the quadrilateral - * \param sx3 x coordinate at the fourth vertex of the quadrilateral - * \param sy3 y coordinate at the fourth vertex of the quadrilateral - * \param m Mapping matrix - * - */ -int nema_mat3x3_quad_to_rect(int width, int height, - float sx0, float sy0, - float sx1, float sy1, - float sx2, float sy2, - float sx3, float sy3, - nema_matrix3x3_t m); - -/** \brief Apply rotation around a pivot point - * - * \param m Matrix to apply transformation - * \param angle_degrees Angle to rotate in degrees - * \param x X coordinate of the pivot point - * \param y Y coordinate of the pivot point - * - */ -void nema_mat3x3_rotate_pivot(nema_matrix3x3_t m, float angle_degrees, - float x, float y); - -/** \brief Apply scale and then rotation around a pivot point - * - * \param m Matrix to apply transformation -* \param sx X scaling factor - * \param sy Y scaling factor - * \param angle_degrees Angle to rotate in degrees - * \param x X coordinate of the pivot point - * \param y Y coordinate of the pivot point - * - */ -void nema_mat3x3_scale_rotate_pivot(nema_matrix3x3_t m, - float sx, float sy, - float angle_degrees, float x, float y); - - -/** \brief Copy matrix _m to matrix m - * - * \param m Destination matrix - * \param m Source matrix - * - */ - -void -nema_mat3x3_copy(nema_matrix3x3_t m, nema_matrix3x3_t _m); - - -#ifdef __cplusplus -} -#endif - -#endif +/* TSI 2023.xmo */ +/******************************************************************************* + * Copyright (c) 2023 Think Silicon Single Member PC + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this header file and/or associated documentation files to use, copy, + * modify, merge, publish, distribute, sublicense, and/or sell copies of the + * Materials, and to permit persons to whom the Materials are furnished to do + * so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Materials. + * + * MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS + * NEMAGFX API. THE UNMODIFIED, NORMATIVE VERSIONS OF THINK-SILICON NEMAGFX + * SPECIFICATIONS AND HEADER INFORMATION ARE LOCATED AT: + * https://think-silicon.com/products/software/nemagfx-api + * + * The software is provided 'as is', without warranty of any kind, express or + * implied, including but not limited to the warranties of merchantability, + * fitness for a particular purpose and noninfringement. In no event shall + * Think Silicon Single Member PC be liable for any claim, damages or other + * liability, whether in an action of contract, tort or otherwise, arising + * from, out of or in connection with the software or the use or other dealings + * in the software. + ******************************************************************************/ + + +#ifndef NEMA_MATRIX3X3_H__ +#define NEMA_MATRIX3X3_H__ + +#ifdef __cplusplus +extern "C" { +#endif + +typedef float nema_matrix3x3_t[3][3]; + + +/** \brief Load Identity Matrix + * + * \param m Matrix to be loaded + * + */ +void nema_mat3x3_load_identity(nema_matrix3x3_t m); + + +/** \brief Copy matrix _m to matrix m + * + * \param m Destination matrix + * \param m Source matrix + * + */ +void +nema_mat3x3_copy(nema_matrix3x3_t m, nema_matrix3x3_t _m); + +/** \brief Apply translate transformation + * + * \param m Matrix to apply transformation + * \param tx X translation factor + * \param ty Y translation factor + * + */ +void nema_mat3x3_translate (nema_matrix3x3_t m, float tx, float ty); + +/** \brief Apply scale transformation + * + * \param m Matrix to apply transformation + * \param sx X scaling factor + * \param sy Y scaling factor + * + */ +void nema_mat3x3_scale (nema_matrix3x3_t m, float sx, float sy); + +/** \brief Apply shear transformation + * + * \param m Matrix to apply transformation + * \param shx X shearing factor + * \param shy Y shearing factor + * + */ +void nema_mat3x3_shear (nema_matrix3x3_t m, float shx, float shy); + +/** \brief Apply mirror transformation + * + * \param m Matrix to apply transformation + * \param mx if non-zero, mirror horizontally + * \param my if non-zero, mirror vertically + * + */ +void nema_mat3x3_mirror (nema_matrix3x3_t m, int mx, int my); + +/** \brief Apply rotation transformation + * + * \param m Matrix to apply transformation + * \param angle_degrees Angle to rotate in degrees + * + */ +void nema_mat3x3_rotate (nema_matrix3x3_t m, float angle_degrees); + +/** \brief Apply rotation transformation + * + * \param m Matrix to apply transformation + * \param cosa Cos of angle to rotate + * \param sina Sin of angle to rotate + * + */ +void +nema_mat3x3_rotate2(nema_matrix3x3_t m, float cosa, float sina); + + +/** \brief Multiply two 3x3 matrices ( m = m*_m) + * + * \param m left matrix, will be overwritten by the result + * \param _m right matrix + * + */ +void nema_mat3x3_mul(nema_matrix3x3_t m, nema_matrix3x3_t _m); + +/** \brief Multiply vector with matrix + * + * \param m Matrix to multiply with + * \param x Vector x coefficient + * \param y Vector y coefficient + * + */ +void nema_mat3x3_mul_vec(nema_matrix3x3_t m, float *x, float *y); + +/** \brief Multiply vector with affine matrix + * + * \param m Matrix to multiply with + * \param x Vector x coefficient + * \param y Vector y coefficient + * + */ +void nema_mat3x3_mul_vec_affine(nema_matrix3x3_t m, float *x, float *y); + +/** \brief Calculate adjoint + * + * \param m Matrix + * + */ +void nema_mat3x3_adj(nema_matrix3x3_t m); + + +/** \brief Divide matrix with scalar value + * + * \param m Matrix to divide + * \param s scalar value + * + */ +void nema_mat3x3_div_scalar(nema_matrix3x3_t m, float s); + +/** \brief Invert matrix + * + * \param m Matrix to invert + * + */ +int nema_mat3x3_invert(nema_matrix3x3_t m); + +/** \private */ +int nema_mat3x3_square_to_quad(float dx0, float dy0, + float dx1, float dy1, + float dx2, float dy2, + float dx3, float dy3, + nema_matrix3x3_t m); + +/** \brief Map rectangle to quadrilateral + * + * \param width Rectangle width + * \param height Rectangle height + * \param sx0 x coordinate at the first vertex of the quadrilateral + * \param sy0 y coordinate at the first vertex of the quadrilateral + * \param sx1 x coordinate at the second vertex of the quadrilateral + * \param sy1 y coordinate at the second vertex of the quadrilateral + * \param sx2 x coordinate at the third vertex of the quadrilateral + * \param sy2 y coordinate at the third vertex of the quadrilateral + * \param sx3 x coordinate at the fourth vertex of the quadrilateral + * \param sy3 y coordinate at the fourth vertex of the quadrilateral + * \param m Mapping matrix + * + */ +int nema_mat3x3_quad_to_rect(int width, int height, + float sx0, float sy0, + float sx1, float sy1, + float sx2, float sy2, + float sx3, float sy3, + nema_matrix3x3_t m); + +/** \brief Apply rotation around a pivot point + * + * \param m Matrix to apply transformation + * \param angle_degrees Angle to rotate in degrees + * \param x X coordinate of the pivot point + * \param y Y coordinate of the pivot point + * + */ +void nema_mat3x3_rotate_pivot(nema_matrix3x3_t m, float angle_degrees, + float x, float y); + +/** \brief Apply scale and then rotation around a pivot point + * + * \param m Matrix to apply transformation +* \param sx X scaling factor + * \param sy Y scaling factor + * \param angle_degrees Angle to rotate in degrees + * \param x X coordinate of the pivot point + * \param y Y coordinate of the pivot point + * + */ +void nema_mat3x3_scale_rotate_pivot(nema_matrix3x3_t m, + float sx, float sy, + float angle_degrees, float x, float y); + + +/** \brief Copy matrix _m to matrix m + * + * \param m Destination matrix + * \param m Source matrix + * + */ + +void +nema_mat3x3_copy(nema_matrix3x3_t m, nema_matrix3x3_t _m); + + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/libs/nema_gfx/include/nema_matrix4x4.h b/libs/nema_gfx/include/nema_matrix4x4.h index 2b968a6b1..2a03b0510 100644 --- a/libs/nema_gfx/include/nema_matrix4x4.h +++ b/libs/nema_gfx/include/nema_matrix4x4.h @@ -1,232 +1,232 @@ -/* TSI 2023.xmo */ -/******************************************************************************* - * Copyright (c) 2023 Think Silicon Single Member PC - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this header file and/or associated documentation files to use, copy, - * modify, merge, publish, distribute, sublicense, and/or sell copies of the - * Materials, and to permit persons to whom the Materials are furnished to do - * so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Materials. - * - * MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS - * NEMAGFX API. THE UNMODIFIED, NORMATIVE VERSIONS OF THINK-SILICON NEMAGFX - * SPECIFICATIONS AND HEADER INFORMATION ARE LOCATED AT: - * https://think-silicon.com/products/software/nemagfx-api - * - * The software is provided 'as is', without warranty of any kind, express or - * implied, including but not limited to the warranties of merchantability, - * fitness for a particular purpose and noninfringement. In no event shall - * Think Silicon Single Member PC be liable for any claim, damages or other - * liability, whether in an action of contract, tort or otherwise, arising - * from, out of or in connection with the software or the use or other dealings - * in the software. - ******************************************************************************/ - - -#ifndef NEMA_MATRIX4X4_H__ -#define NEMA_MATRIX4X4_H__ - -#ifdef __cplusplus -extern "C" { -#endif - -typedef float nema_matrix4x4_t[4][4]; - - -/** \brief Load a 4x4 Identity Matrix - * - * \param m Matrix to be loaded - * - */ -void nema_mat4x4_load_identity(nema_matrix4x4_t m); - -/** \brief Multiply two 4x4 matrices - * - * \param m Result Matrix - * \param m_l Left operand - * \param m_r Right operand - * - */ -void nema_mat4x4_mul(nema_matrix4x4_t m, - nema_matrix4x4_t m_l, - nema_matrix4x4_t m_r); - - -void nema_mat4x4_copy(nema_matrix4x4_t m_l, - nema_matrix4x4_t m_r); - -/** \brief Multiply a 4x1 vector with a 4x4 matrix - * - * \param m Matrix to be multiplied - * \param x Vector first element - * \param y Vector second element - * \param z Vector third element - * \param w Vector forth element - * - */ -void nema_mat4x4_mul_vec(nema_matrix4x4_t m, float *x, float *y, float *z, float *w); - -// ------------------------------------------------------------------------------------ -// Object Transformation - ModelView Matrix -// Object Coordinates to Eye Coordinates -// ------------------------------------------------------------------------------------ - -/** \brief Apply translate transformation - * - * \param m Matrix to apply transformation - * \param tx X translation factor - * \param ty Y translation factor - * \param tz Z translation factor - * - */ -void nema_mat4x4_translate(nema_matrix4x4_t m, float tx, float ty, float tz); - -/** \brief Apply scale transformation - * - * \param m Matrix to apply transformation - * \param sx X scaling factor - * \param sy Y scaling factor - * \param sz Z scaling factor - * - */ -void nema_mat4x4_scale(nema_matrix4x4_t m, float sx, float sy, float sz); - -/** \brief Apply rotate transformation around X axis - * - * \param m Matrix to apply transformation - * \param angle_degrees Angle to rotate in degrees - * - */ -void nema_mat4x4_rotate_X (nema_matrix4x4_t m, float angle_degrees); - -/** \brief Apply rotate transformation around Y axis - * - * \param m Matrix to apply transformation - * \param angle_degrees Angle to rotate in degrees - * - */ -void nema_mat4x4_rotate_Y (nema_matrix4x4_t m, float angle_degrees); - -/** \brief Apply rotate transformation around Z axis - * - * \param m Matrix to apply transformation - * \param angle_degrees Angle to rotate in degrees - * - */ -void nema_mat4x4_rotate_Z (nema_matrix4x4_t m, float angle_degrees); - -// ------------------------------------------------------------------------------------ -// Scene Transformation/Frustum - Projection Matrix -// Eye Coordinates to Clip Coordinates -// ------------------------------------------------------------------------------------ - -/** \brief Set up a perspective projection matrix - * - * \param m A 4x4 Matrix - * \param fovy_degrees Field of View in degrees - * \param aspect Aspect ratio that determines the field of view in the x direction. - * \param nearVal Distance from the viewer to the near clipping plane (always positive) - * \param farVal Distance from the viewer to the far clipping plane (always positive) - * - */ -void nema_mat4x4_load_perspective(nema_matrix4x4_t m, float fovy_degrees, float aspect, - float nearVal, float farVal); - - -/** \brief Set up a Right Hand perspective projection matrix - * - * \param m A 4x4 Matrix - * \param fovy_degrees Field of View in degrees - * \param aspect Aspect ratio that determines the field of view in the x direction. - * \param nearVal Distance from the viewer to the near clipping plane (always positive) - * \param farVal Distance from the viewer to the far clipping plane (always positive) - * - */ -void nema_mat4x4_load_perspective_rh(nema_matrix4x4_t m, float fovy_degrees, float aspect, - float nearVal, float farVal); - -/** \brief Set up an orthographic projection matrix - * - * \param m A 4x4 Matrix - * \param left Left vertical clipping plane - * \param right Right vertical clipping plane - * \param bottom bottom horizontal clipping plane - * \param top Top horizontal clipping plane - * \param nearVal Distance from the viewer to the near clipping plane (always positive) - * \param farVal Distance from the viewer to the far clipping plane (always positive) - * - */ -void nema_mat4x4_load_ortho(nema_matrix4x4_t m, - float left, float right, - float bottom, float top, - float nearVal, float farVal); - -/** \brief Set up a 2D orthographic projection matrix - * - * \param m A 4x4 Matrix - * \param left Left vertical clipping plane - * \param right Right vertical clipping plane - * \param bottom bottom horizontal clipping plane - * \param top Top horizontal clipping plane - * - */ -void nema_mat4x4_load_ortho_2d(nema_matrix4x4_t m, - float left, float right, - float bottom, float top); - -/** \brief Set up a Right Hand view matrix. - * - * \param m A 4x4 Matrix - * \param eye_x Eye position x. - * \param eye_y Eye position y. - * \param eye_z Eye position z. - * \param center_x Center x to look at - * \param center_y Center y to look at - * \param center_z Center z to look at - * \param up_x Up vector x. (Usually 0) - * \param up_y Up vector y. (Usually 1) - * \param up_z Up vector z. (Usually 0) - * - */ -void nema_mat4x4_look_at_rh(nema_matrix4x4_t m, - float eye_x, float eye_y, float eye_z, - float center_x, float center_y, float center_z, - float up_x, float up_y, float up_z); - -// ------------------------------------------------------------------------------------ -// Clip Coordinates to Window Coordinates -// ------------------------------------------------------------------------------------ - -/** \brief Convenience Function to calculate window coordinates from object coordinates - * - * \param mvp Model, View and Projection Matrix - * \param x_orig Window top left X coordinate - * \param y_orig Window top left Y coordinate - * \param width Window width - * \param height Window height - * \param nearVal Distance from the viewer to the near clipping plane (always positive) - * \param farVal Distance from the viewer to the far clipping plane (always positive) - * \param x X object coordinate - * \param y Y object coordinate - * \param z Z object coordinate - * \param w W object coordinate - * \return 1 if vertex is outside frustum (should be clipped) - * - */ -int nema_mat4x4_obj_to_win_coords(nema_matrix4x4_t mvp, - float x_orig, float y_orig, - int width, int height, - float nearVal, float farVal, - float *x, - float *y, - float *z, - float *w); - -#ifdef __cplusplus -} -#endif - -#endif +/* TSI 2023.xmo */ +/******************************************************************************* + * Copyright (c) 2023 Think Silicon Single Member PC + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this header file and/or associated documentation files to use, copy, + * modify, merge, publish, distribute, sublicense, and/or sell copies of the + * Materials, and to permit persons to whom the Materials are furnished to do + * so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Materials. + * + * MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS + * NEMAGFX API. THE UNMODIFIED, NORMATIVE VERSIONS OF THINK-SILICON NEMAGFX + * SPECIFICATIONS AND HEADER INFORMATION ARE LOCATED AT: + * https://think-silicon.com/products/software/nemagfx-api + * + * The software is provided 'as is', without warranty of any kind, express or + * implied, including but not limited to the warranties of merchantability, + * fitness for a particular purpose and noninfringement. In no event shall + * Think Silicon Single Member PC be liable for any claim, damages or other + * liability, whether in an action of contract, tort or otherwise, arising + * from, out of or in connection with the software or the use or other dealings + * in the software. + ******************************************************************************/ + + +#ifndef NEMA_MATRIX4X4_H__ +#define NEMA_MATRIX4X4_H__ + +#ifdef __cplusplus +extern "C" { +#endif + +typedef float nema_matrix4x4_t[4][4]; + + +/** \brief Load a 4x4 Identity Matrix + * + * \param m Matrix to be loaded + * + */ +void nema_mat4x4_load_identity(nema_matrix4x4_t m); + +/** \brief Multiply two 4x4 matrices + * + * \param m Result Matrix + * \param m_l Left operand + * \param m_r Right operand + * + */ +void nema_mat4x4_mul(nema_matrix4x4_t m, + nema_matrix4x4_t m_l, + nema_matrix4x4_t m_r); + + +void nema_mat4x4_copy(nema_matrix4x4_t m_l, + nema_matrix4x4_t m_r); + +/** \brief Multiply a 4x1 vector with a 4x4 matrix + * + * \param m Matrix to be multiplied + * \param x Vector first element + * \param y Vector second element + * \param z Vector third element + * \param w Vector forth element + * + */ +void nema_mat4x4_mul_vec(nema_matrix4x4_t m, float *x, float *y, float *z, float *w); + +// ------------------------------------------------------------------------------------ +// Object Transformation - ModelView Matrix +// Object Coordinates to Eye Coordinates +// ------------------------------------------------------------------------------------ + +/** \brief Apply translate transformation + * + * \param m Matrix to apply transformation + * \param tx X translation factor + * \param ty Y translation factor + * \param tz Z translation factor + * + */ +void nema_mat4x4_translate(nema_matrix4x4_t m, float tx, float ty, float tz); + +/** \brief Apply scale transformation + * + * \param m Matrix to apply transformation + * \param sx X scaling factor + * \param sy Y scaling factor + * \param sz Z scaling factor + * + */ +void nema_mat4x4_scale(nema_matrix4x4_t m, float sx, float sy, float sz); + +/** \brief Apply rotate transformation around X axis + * + * \param m Matrix to apply transformation + * \param angle_degrees Angle to rotate in degrees + * + */ +void nema_mat4x4_rotate_X (nema_matrix4x4_t m, float angle_degrees); + +/** \brief Apply rotate transformation around Y axis + * + * \param m Matrix to apply transformation + * \param angle_degrees Angle to rotate in degrees + * + */ +void nema_mat4x4_rotate_Y (nema_matrix4x4_t m, float angle_degrees); + +/** \brief Apply rotate transformation around Z axis + * + * \param m Matrix to apply transformation + * \param angle_degrees Angle to rotate in degrees + * + */ +void nema_mat4x4_rotate_Z (nema_matrix4x4_t m, float angle_degrees); + +// ------------------------------------------------------------------------------------ +// Scene Transformation/Frustum - Projection Matrix +// Eye Coordinates to Clip Coordinates +// ------------------------------------------------------------------------------------ + +/** \brief Set up a perspective projection matrix + * + * \param m A 4x4 Matrix + * \param fovy_degrees Field of View in degrees + * \param aspect Aspect ratio that determines the field of view in the x direction. + * \param nearVal Distance from the viewer to the near clipping plane (always positive) + * \param farVal Distance from the viewer to the far clipping plane (always positive) + * + */ +void nema_mat4x4_load_perspective(nema_matrix4x4_t m, float fovy_degrees, float aspect, + float nearVal, float farVal); + + +/** \brief Set up a Right Hand perspective projection matrix + * + * \param m A 4x4 Matrix + * \param fovy_degrees Field of View in degrees + * \param aspect Aspect ratio that determines the field of view in the x direction. + * \param nearVal Distance from the viewer to the near clipping plane (always positive) + * \param farVal Distance from the viewer to the far clipping plane (always positive) + * + */ +void nema_mat4x4_load_perspective_rh(nema_matrix4x4_t m, float fovy_degrees, float aspect, + float nearVal, float farVal); + +/** \brief Set up an orthographic projection matrix + * + * \param m A 4x4 Matrix + * \param left Left vertical clipping plane + * \param right Right vertical clipping plane + * \param bottom bottom horizontal clipping plane + * \param top Top horizontal clipping plane + * \param nearVal Distance from the viewer to the near clipping plane (always positive) + * \param farVal Distance from the viewer to the far clipping plane (always positive) + * + */ +void nema_mat4x4_load_ortho(nema_matrix4x4_t m, + float left, float right, + float bottom, float top, + float nearVal, float farVal); + +/** \brief Set up a 2D orthographic projection matrix + * + * \param m A 4x4 Matrix + * \param left Left vertical clipping plane + * \param right Right vertical clipping plane + * \param bottom bottom horizontal clipping plane + * \param top Top horizontal clipping plane + * + */ +void nema_mat4x4_load_ortho_2d(nema_matrix4x4_t m, + float left, float right, + float bottom, float top); + +/** \brief Set up a Right Hand view matrix. + * + * \param m A 4x4 Matrix + * \param eye_x Eye position x. + * \param eye_y Eye position y. + * \param eye_z Eye position z. + * \param center_x Center x to look at + * \param center_y Center y to look at + * \param center_z Center z to look at + * \param up_x Up vector x. (Usually 0) + * \param up_y Up vector y. (Usually 1) + * \param up_z Up vector z. (Usually 0) + * + */ +void nema_mat4x4_look_at_rh(nema_matrix4x4_t m, + float eye_x, float eye_y, float eye_z, + float center_x, float center_y, float center_z, + float up_x, float up_y, float up_z); + +// ------------------------------------------------------------------------------------ +// Clip Coordinates to Window Coordinates +// ------------------------------------------------------------------------------------ + +/** \brief Convenience Function to calculate window coordinates from object coordinates + * + * \param mvp Model, View and Projection Matrix + * \param x_orig Window top left X coordinate + * \param y_orig Window top left Y coordinate + * \param width Window width + * \param height Window height + * \param nearVal Distance from the viewer to the near clipping plane (always positive) + * \param farVal Distance from the viewer to the far clipping plane (always positive) + * \param x X object coordinate + * \param y Y object coordinate + * \param z Z object coordinate + * \param w W object coordinate + * \return 1 if vertex is outside frustum (should be clipped) + * + */ +int nema_mat4x4_obj_to_win_coords(nema_matrix4x4_t mvp, + float x_orig, float y_orig, + int width, int height, + float nearVal, float farVal, + float *x, + float *y, + float *z, + float *w); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/libs/nema_gfx/include/nema_provisional.h b/libs/nema_gfx/include/nema_provisional.h index 0ad05f331..44a56588e 100644 --- a/libs/nema_gfx/include/nema_provisional.h +++ b/libs/nema_gfx/include/nema_provisional.h @@ -1,124 +1,124 @@ -/* TSI 2023.xmo */ -/******************************************************************************* - * Copyright (c) 2023 Think Silicon Single Member PC - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this header file and/or associated documentation files to use, copy, - * modify, merge, publish, distribute, sublicense, and/or sell copies of the - * Materials, and to permit persons to whom the Materials are furnished to do - * so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Materials. - * - * MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS - * NEMAGFX API. THE UNMODIFIED, NORMATIVE VERSIONS OF THINK-SILICON NEMAGFX - * SPECIFICATIONS AND HEADER INFORMATION ARE LOCATED AT: - * https://think-silicon.com/products/software/nemagfx-api - * - * The software is provided 'as is', without warranty of any kind, express or - * implied, including but not limited to the warranties of merchantability, - * fitness for a particular purpose and noninfringement. In no event shall - * Think Silicon Single Member PC be liable for any claim, damages or other - * liability, whether in an action of contract, tort or otherwise, arising - * from, out of or in connection with the software or the use or other dealings - * in the software. - ******************************************************************************/ - - -#ifndef NEMA_PROVISIONAL_H__ -#define NEMA_PROVISIONAL_H__ - -#include "nema_sys_defs.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/** \brief Fill a triangle strip with color (float coordinates) - * - * \param vertices pointer to vertices coordinated (first x coordinate of vertex, - * then y coordinate of vertex) - * \param num_vertices number of vertices - * \param stride Distance between two vertices - * \param rgba8888 Color to be used - * - */ -void nema_fill_triangle_strip_f(float* vertices, int num_vertices, int stride, uint32_t rgba8888); - -/** \brief Fill a traingle fan with color (float coordinates) - * - * \param vertices pointer to vertices coordinated (first x coordinate of vertex, - * then y coordinate of vertex) - * \param num_vertices number of vertices - * \param stride Distance between two vertices - * \param rgba8888 Color to be used - * - */ -void nema_fill_triangle_fan_f(float* vertices, int num_vertices, int stride, uint32_t rgba8888); - -/** \brief Draws a triangle with specific border width. Apply AA if available. - * Degenerated triangles have undefined behavior. - * - * \param x0 x coordinate at the first vertex of the triangle - * \param y0 y coordinate at the first vertex of the triangle - * \param x1 x coordinate at the second vertex of the triangle - * \param y1 y coordinate at the second vertex of the triangle - * \param x2 x coordinate at the third vertex of the triangle - * \param y2 y coordinate at the third vertex of the triangle - * \param border_width triangle's border width - * \param color color of the triangle - * - */ -void nema_draw_triangle_aa(float x0, float y0, float x1, float y1, float x2, float y2, - float border_width, uint32_t color); - - -/** \brief Draw a colored rectangle with rounded edges and specific border width. Apply AA if available. - * - * \param x x coordinate of the upper left vertex of the rectangle - * \param y y coordinate at the upper left vertex of the rectangle - * \param w width of the rectangle - * \param h height of the rectangle - * \param r corner radius - * \param border_width border width - * \param rgba8888 rgba color of the rounded rectangle - * - */ -void nema_draw_rounded_rect_aa(float x, float y, float w, float h, float r, float border_width, uint32_t rgba8888); - - -/** \brief Draw a filled colored rectangle with rounded edges and specific border width. Apply AA if available. - * - * \param x x coordinate of the upper left vertex of the rectangle - * \param y y coordinate at the upper left vertex of the rectangle - * \param w width of the rectangle - * \param h height of the rectangle - * \param r corner radius - * \param rgba8888 rgba color of the rounded rectangle - * - */ -void nema_fill_rounded_rect_aa(float x, float y, float w, float h, float r, uint32_t rgba8888); - -/** \brief Draws a quadrilateral with specific border width. Apply AA if available. - * Only Convex quadrilaterals are supported. - * - * \param x0 x coordinate at the first vertex of the quadrilateral - * \param y0 y coordinate at the first vertex of the quadrilateral - * \param x1 x coordinate at the second vertex of the quadrilateral - * \param y1 y coordinate at the second vertex of the quadrilateral - * \param x2 x coordinate at the third vertex of the quadrilateral - * \param y2 y coordinate at the third vertex of the quadrilateral - * \param x3 x coordinate at the fourth vertex of the quadrilateral - * \param y3 y coordinate at the fourth vertex of the quadrilateral - * \param border_width trianquadrilateralgle's border width - * \param color color of the quadrilateral - * - */ -void nema_draw_quad_aa(float x0, float y0, float x1, float y1, float x2, float y2, float x3, float y3, - float border_width, uint32_t color); -#ifdef __cplusplus -} -#endif - -#endif // NEMA_PROVISIONAL_H__ +/* TSI 2023.xmo */ +/******************************************************************************* + * Copyright (c) 2023 Think Silicon Single Member PC + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this header file and/or associated documentation files to use, copy, + * modify, merge, publish, distribute, sublicense, and/or sell copies of the + * Materials, and to permit persons to whom the Materials are furnished to do + * so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Materials. + * + * MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS + * NEMAGFX API. THE UNMODIFIED, NORMATIVE VERSIONS OF THINK-SILICON NEMAGFX + * SPECIFICATIONS AND HEADER INFORMATION ARE LOCATED AT: + * https://think-silicon.com/products/software/nemagfx-api + * + * The software is provided 'as is', without warranty of any kind, express or + * implied, including but not limited to the warranties of merchantability, + * fitness for a particular purpose and noninfringement. In no event shall + * Think Silicon Single Member PC be liable for any claim, damages or other + * liability, whether in an action of contract, tort or otherwise, arising + * from, out of or in connection with the software or the use or other dealings + * in the software. + ******************************************************************************/ + + +#ifndef NEMA_PROVISIONAL_H__ +#define NEMA_PROVISIONAL_H__ + +#include "nema_sys_defs.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/** \brief Fill a triangle strip with color (float coordinates) + * + * \param vertices pointer to vertices coordinated (first x coordinate of vertex, + * then y coordinate of vertex) + * \param num_vertices number of vertices + * \param stride Distance between two vertices + * \param rgba8888 Color to be used + * + */ +void nema_fill_triangle_strip_f(float* vertices, int num_vertices, int stride, uint32_t rgba8888); + +/** \brief Fill a traingle fan with color (float coordinates) + * + * \param vertices pointer to vertices coordinated (first x coordinate of vertex, + * then y coordinate of vertex) + * \param num_vertices number of vertices + * \param stride Distance between two vertices + * \param rgba8888 Color to be used + * + */ +void nema_fill_triangle_fan_f(float* vertices, int num_vertices, int stride, uint32_t rgba8888); + +/** \brief Draws a triangle with specific border width. Apply AA if available. + * Degenerated triangles have undefined behavior. + * + * \param x0 x coordinate at the first vertex of the triangle + * \param y0 y coordinate at the first vertex of the triangle + * \param x1 x coordinate at the second vertex of the triangle + * \param y1 y coordinate at the second vertex of the triangle + * \param x2 x coordinate at the third vertex of the triangle + * \param y2 y coordinate at the third vertex of the triangle + * \param border_width triangle's border width + * \param color color of the triangle + * + */ +void nema_draw_triangle_aa(float x0, float y0, float x1, float y1, float x2, float y2, + float border_width, uint32_t color); + + +/** \brief Draw a colored rectangle with rounded edges and specific border width. Apply AA if available. + * + * \param x x coordinate of the upper left vertex of the rectangle + * \param y y coordinate at the upper left vertex of the rectangle + * \param w width of the rectangle + * \param h height of the rectangle + * \param r corner radius + * \param border_width border width + * \param rgba8888 rgba color of the rounded rectangle + * + */ +void nema_draw_rounded_rect_aa(float x, float y, float w, float h, float r, float border_width, uint32_t rgba8888); + + +/** \brief Draw a filled colored rectangle with rounded edges and specific border width. Apply AA if available. + * + * \param x x coordinate of the upper left vertex of the rectangle + * \param y y coordinate at the upper left vertex of the rectangle + * \param w width of the rectangle + * \param h height of the rectangle + * \param r corner radius + * \param rgba8888 rgba color of the rounded rectangle + * + */ +void nema_fill_rounded_rect_aa(float x, float y, float w, float h, float r, uint32_t rgba8888); + +/** \brief Draws a quadrilateral with specific border width. Apply AA if available. + * Only Convex quadrilaterals are supported. + * + * \param x0 x coordinate at the first vertex of the quadrilateral + * \param y0 y coordinate at the first vertex of the quadrilateral + * \param x1 x coordinate at the second vertex of the quadrilateral + * \param y1 y coordinate at the second vertex of the quadrilateral + * \param x2 x coordinate at the third vertex of the quadrilateral + * \param y2 y coordinate at the third vertex of the quadrilateral + * \param x3 x coordinate at the fourth vertex of the quadrilateral + * \param y3 y coordinate at the fourth vertex of the quadrilateral + * \param border_width trianquadrilateralgle's border width + * \param color color of the quadrilateral + * + */ +void nema_draw_quad_aa(float x0, float y0, float x1, float y1, float x2, float y2, float x3, float y3, + float border_width, uint32_t color); +#ifdef __cplusplus +} +#endif + +#endif // NEMA_PROVISIONAL_H__ diff --git a/libs/nema_gfx/include/nema_raster.h b/libs/nema_gfx/include/nema_raster.h index c8cfa2f0a..770fbcd32 100644 --- a/libs/nema_gfx/include/nema_raster.h +++ b/libs/nema_gfx/include/nema_raster.h @@ -1,107 +1,117 @@ -/* TSI 2023.xmo */ -/******************************************************************************* - * Copyright (c) 2023 Think Silicon Single Member PC - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this header file and/or associated documentation files to use, copy, - * modify, merge, publish, distribute, sublicense, and/or sell copies of the - * Materials, and to permit persons to whom the Materials are furnished to do - * so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Materials. - * - * MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS - * NEMAGFX API. THE UNMODIFIED, NORMATIVE VERSIONS OF THINK-SILICON NEMAGFX - * SPECIFICATIONS AND HEADER INFORMATION ARE LOCATED AT: - * https://think-silicon.com/products/software/nemagfx-api - * - * The software is provided 'as is', without warranty of any kind, express or - * implied, including but not limited to the warranties of merchantability, - * fitness for a particular purpose and noninfringement. In no event shall - * Think Silicon Single Member PC be liable for any claim, damages or other - * liability, whether in an action of contract, tort or otherwise, arising - * from, out of or in connection with the software or the use or other dealings - * in the software. - ******************************************************************************/ - - -#ifndef NEMA_RASTER_H__ -#define NEMA_RASTER_H__ - -#ifdef __cplusplus -extern "C" { -#endif - -/** \private */ -void nema_set_raster_color(uint32_t rgba8888); - -/** \private */ -void nema_raster_pixel(int x, int y); - -/** \private */ -void nema_raster_line(int x0, int y0, int x1, int y1); - -/** \private */ -void nema_raster_triangle_fx(int x0fx, int y0fx, int x1fx, int y1fx, int x2fx, int y2fx); - - -/** \private */ -void nema_raster_rect(int x, int y, int w, int h); - -/** \private */ -void nema_raster_rounded_rect(int x0, int y0, int w, int h, int r); - - -/** \private */ -void nema_raster_quad_fx(int x0fx, int y0fx, - int x1fx, int y1fx, int x2fx, int y2fx, int x3fx, int y3fx); - -/** \private */ -void nema_raster_triangle (int x0, int y0, int x1, int y1, int x2, int y2); - -/** \private */ -void nema_raster_quad (int x0,int y0,int x1,int y1,int x2,int y2,int x3,int y3); - -/** \private */ -void nema_raster_circle_aa(float x, float y, float r); - -/** \private */ -void nema_raster_stroked_circle_aa(float x, float y, float r, float w); - -/** \private */ -void nema_raster_rect_fx(int xfx, int yfx, int wfx, int hfx); - -/** \private */ -void nema_raster_rect_f(float x, float y, float w, float h); - -/** \private */ -void -nema_raster_triangle_f(float x0, float y0, float x1, float y1, float x2, float y2); - -/** \private */ -void -nema_raster_triangle_p0_f(float x0, float y0); - -/** \private */ -void -nema_raster_triangle_p1_f(float x1, float y1); - -/** \private */ -void -nema_raster_triangle_p2_f(float x2, float y2); - -/** \private */ -void -nema_raster_quad_f(float x0, float y0, float x1, float y1, - float x2, float y2, float x3, float y3); - -/** \private */ -void -nema_raster_stroked_arc_aa( float x0, float y0, float r, float w, float start_angle, float end_angle); - -#ifdef __cplusplus -} -#endif - -#endif //NEMA_RASTER_H__ +/* TSI 2023.xmo */ +/******************************************************************************* + * Copyright (c) 2023 Think Silicon Single Member PC + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this header file and/or associated documentation files to use, copy, + * modify, merge, publish, distribute, sublicense, and/or sell copies of the + * Materials, and to permit persons to whom the Materials are furnished to do + * so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Materials. + * + * MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS + * NEMAGFX API. THE UNMODIFIED, NORMATIVE VERSIONS OF THINK-SILICON NEMAGFX + * SPECIFICATIONS AND HEADER INFORMATION ARE LOCATED AT: + * https://think-silicon.com/products/software/nemagfx-api + * + * The software is provided 'as is', without warranty of any kind, express or + * implied, including but not limited to the warranties of merchantability, + * fitness for a particular purpose and noninfringement. In no event shall + * Think Silicon Single Member PC be liable for any claim, damages or other + * liability, whether in an action of contract, tort or otherwise, arising + * from, out of or in connection with the software or the use or other dealings + * in the software. + ******************************************************************************/ + + +#ifndef NEMA_RASTER_H__ +#define NEMA_RASTER_H__ + +#ifdef __cplusplus +extern "C" { +#endif + +/** \private */ +void nema_set_raster_color(uint32_t rgba8888); + +/** \private */ +void nema_raster_pixel(int x, int y); + +/** \private */ +void nema_raster_line(int x0, int y0, int x1, int y1); + +/** \private */ +void nema_raster_triangle_fx(int x0fx, int y0fx, int x1fx, int y1fx, int x2fx, int y2fx); + + +/** \private */ +void nema_raster_rect(int x, int y, int w, int h); + +/** \private */ +void nema_raster_rounded_rect(int x0, int y0, int w, int h, int r); + + +/** \private */ +void nema_raster_quad_fx(int x0fx, int y0fx, + int x1fx, int y1fx, int x2fx, int y2fx, int x3fx, int y3fx); + +/** \private */ +void nema_raster_triangle (int x0, int y0, int x1, int y1, int x2, int y2); + +/** \private */ +void nema_raster_quad (int x0,int y0,int x1,int y1,int x2,int y2,int x3,int y3); + +/** \private */ +void nema_raster_circle(float x, float y, float r); + +/** \private */ +void nema_raster_circle_aa(float x, float y, float r); + +/** \private */ +void nema_raster_stroked_circle_aa(float x, float y, float r, float w); + +/** \private */ +void nema_raster_rect_fx(int xfx, int yfx, int wfx, int hfx); + +/** \private */ +void nema_raster_rect_f(float x, float y, float w, float h); + +/** \private */ +void +nema_raster_triangle_f(float x0, float y0, float x1, float y1, float x2, float y2); + +/** \private */ +void +nema_raster_triangle_p0_f(float x0, float y0); + +/** \private */ +void +nema_raster_triangle_p1_f(float x1, float y1); + +/** \private */ +void +nema_raster_triangle_p2_f(float x2, float y2); + +/** \private */ +void +nema_raster_quad_f(float x0, float y0, float x1, float y1, + float x2, float y2, float x3, float y3); + +/** \private */ +void +nema_raster_stroked_arc_aa( float x0, float y0, float r, float w, float start_angle, float end_angle); + +/** \private */ +// aa_mask: +// RAST_AA_E0: AA on first ending +// RAST_AA_E2: AA on last ending +void +nema_raster_stroked_arc_aa_mask( float x0, float y0, float r, float w, float start_angle, float end_angle, uint32_t aa_mask); + +#ifdef __cplusplus +} +#endif + +#endif //NEMA_RASTER_H__ diff --git a/libs/nema_gfx/include/nema_sys_defs.h b/libs/nema_gfx/include/nema_sys_defs.h index 17174fbcd..0e48e528a 100644 --- a/libs/nema_gfx/include/nema_sys_defs.h +++ b/libs/nema_gfx/include/nema_sys_defs.h @@ -1,58 +1,58 @@ -/** - ****************************************************************************** - * @file nema_sys_defs.h - * @author MCD Application Team - * @brief Header file of NemaGFX System Definitions for STM32 Platforms. - * This file provides definition of types being used by the NemaGFX - * library. - ****************************************************************************** - * @attention - * - *

© Copyright (c) 2019 STMicroelectronics. - * All rights reserved.

- * - * This software component is licensed by ST under BSD 3-Clause license, - * the "License"; You may not use this file except in compliance with the - * License. You may obtain a copy of the License at: - * opensource.org/licenses/BSD-3-Clause - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef NEMA_SYS_DEFS_H__ -#define NEMA_SYS_DEFS_H__ - -#ifdef __cplusplus -extern "C" { -#endif /* __cplusplus */ - -/* Includes ------------------------------------------------------------------*/ -#include -#include -#include -#include - -/* Temporarily added by ST */ -#ifdef __ICCARM__ -#define FORCE_INLINE _Pragma("inline = forced") -#else -#define FORCE_INLINE -#endif - -/* No Multi-Thread support */ -#define TLS_VAR - -#ifdef NEMA_VG_INVALIDATE_CACHE -void platform_disable_cache(void); -void platform_invalidate_cache(void); - -#define NEMA_VG_DISABLE_CACHE platform_disable_cache() -#define NEMA_VG_ENABLE_INVALIDATE_CACHE platform_invalidate_cache() -#endif - -#ifdef __cplusplus -} -#endif /* __cplusplus */ - -#endif /* NEMA_SYS_DEFS_H__ */ +/** + ****************************************************************************** + * @file nema_sys_defs.h + * @author MCD Application Team + * @brief Header file of NemaGFX System Definitions for STM32 Platforms. + * This file provides definition of types being used by the NemaGFX + * library. + ****************************************************************************** + * @attention + * + *

© Copyright (c) 2019 STMicroelectronics. + * All rights reserved.

+ * + * This software component is licensed by ST under BSD 3-Clause license, + * the "License"; You may not use this file except in compliance with the + * License. You may obtain a copy of the License at: + * opensource.org/licenses/BSD-3-Clause + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef NEMA_SYS_DEFS_H__ +#define NEMA_SYS_DEFS_H__ + +#ifdef __cplusplus +extern "C" { +#endif /* __cplusplus */ + +/* Includes ------------------------------------------------------------------*/ +#include +#include +#include +#include + +/* Temporarily added by ST */ +#ifdef __ICCARM__ +#define FORCE_INLINE _Pragma("inline = forced") +#else +#define FORCE_INLINE +#endif + +/* No Multi-Thread support */ +#define TLS_VAR + +#ifdef NEMA_VG_INVALIDATE_CACHE +void platform_disable_cache(void); +void platform_invalidate_cache(void); + +#define NEMA_VG_DISABLE_CACHE platform_disable_cache() +#define NEMA_VG_ENABLE_INVALIDATE_CACHE platform_invalidate_cache() +#endif + +#ifdef __cplusplus +} +#endif /* __cplusplus */ + +#endif /* NEMA_SYS_DEFS_H__ */ diff --git a/libs/nema_gfx/include/nema_transitions.h b/libs/nema_gfx/include/nema_transitions.h index c8fd3f254..3a92646a5 100644 --- a/libs/nema_gfx/include/nema_transitions.h +++ b/libs/nema_gfx/include/nema_transitions.h @@ -1,210 +1,210 @@ -/* TSI 2023.xmo */ -/******************************************************************************* - * Copyright (c) 2023 Think Silicon Single Member PC - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this header file and/or associated documentation files to use, copy, - * modify, merge, publish, distribute, sublicense, and/or sell copies of the - * Materials, and to permit persons to whom the Materials are furnished to do - * so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Materials. - * - * MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS - * NEMAGFX API. THE UNMODIFIED, NORMATIVE VERSIONS OF THINK-SILICON NEMAGFX - * SPECIFICATIONS AND HEADER INFORMATION ARE LOCATED AT: - * https://think-silicon.com/products/software/nemagfx-api - * - * The software is provided 'as is', without warranty of any kind, express or - * implied, including but not limited to the warranties of merchantability, - * fitness for a particular purpose and noninfringement. In no event shall - * Think Silicon Single Member PC be liable for any claim, damages or other - * liability, whether in an action of contract, tort or otherwise, arising - * from, out of or in connection with the software or the use or other dealings - * in the software. - ******************************************************************************/ - - -#ifndef NEMA_TRANSITIONS_H__ -#define NEMA_TRANSITIONS_H__ - -#include "nema_blender.h" - -#ifdef __cplusplus -extern "C" { -#endif - -typedef enum { - NEMA_TRANS_LINEAR_H, - NEMA_TRANS_CUBE_H, - NEMA_TRANS_INNERCUBE_H, - NEMA_TRANS_STACK_H, - NEMA_TRANS_LINEAR_V, - NEMA_TRANS_CUBE_V, - NEMA_TRANS_INNERCUBE_V, - NEMA_TRANS_STACK_V, - NEMA_TRANS_FADE, - NEMA_TRANS_FADE_ZOOM, - NEMA_TRANS_MAX, - NEMA_TRANS_NONE, -} nema_transition_t; - -/** \brief Transition from 'initial' texture to 'final' texture. The transition is complete when 'step' is 0 or 1 - * - * \param effect Transition effect - * \param initial Initial texture - * \param final Final texture - * \param blending_mode Blending mode - * \param step Transition step within [0.f , 1.f] range - * \param width Texture width - * \param height Texture height - * - */ -void nema_transition(nema_transition_t effect, nema_tex_t initial, nema_tex_t final, - uint32_t blending_mode, float step, int width, int height); - - -/** \brief Linear transition horizontally. When 'step' changes from zero to one, textures move from right to left, -otherwise textures move from left to right. The transition is complete when 'step' is 0 or 1. - * - * \param left Texture on the left side - * \param right Texture on the right side - * \param blending_mode Blending mode - * \param step Current step within [0.f , 1.f] range - * \param width Texture width - * - */ -void nema_transition_linear_hor(nema_tex_t left, nema_tex_t right, - uint32_t blending_mode, float step, int width); - -/** \brief Linear transition vertically. When 'step' changes from zero to one, textures move from top to bottom, -otherwise textures move from bottom to top. The transition is complete when 'step' is 0 or 1. - * - * \param up Texture on the top side - * \param down Texture on the bottom side - * \param blending_mode Blending mode - * \param step Current step within [0.f , 1.f] range - * \param height Texture height - * - */ -void nema_transition_linear_ver(nema_tex_t up, nema_tex_t down, - uint32_t blending_mode, float step, int height); - -/** \brief Cubic (textures are mapped on the external faces of a cube) transition horizontally. When 'step' changes from zero to one, textures move from left to right, -otherwise textures move from right to left. The transition is complete when 'step' is 0 or 1. - * - * \param left Texture on the left side - * \param right Texture on the right side - * \param blending_mode Blending mode - * \param step Current step within [0.f , 1.f] range - * \param width Texture width - * \param height Texture height - * - */ -void nema_transition_cube_hor(nema_tex_t left, nema_tex_t right, - uint32_t blending_mode, float step, int width, int height); - -/** \brief Cube (textures are mapped on the external faces of a cube) transition vertically. When 'step' changes from zero to one, textures move from top to bottom, -otherwise textures move from bottom to top. The transition is complete when 'step' is 0 or 1. - * - * \param up Texture on the top side - * \param down Texture on the bottom side - * \param blending_mode Blending mode - * \param step Current step within [0.f , 1.f] range - * \param width Texture width - * \param height Texture height - * - */ -void nema_transition_cube_ver(nema_tex_t up, nema_tex_t down, - uint32_t blending_mode, float step, int width, int height); - -/** \brief Inner Cube (textures are mapped on the internal faces of a cube) transition horizontally. When 'step' changes from zero to one, textures move from left to right, -otherwise textures move from right to left. The transition is complete when 'step' is 0 or 1. - * - * \param left Texture on the left side - * \param right Texture on the right side - * \param blending_mode Blending mode - * \param step Current step within [0.f , 1.f] range - * \param width Texture width - * \param height Texture height - * - */ -void nema_transition_innercube_hor(nema_tex_t left, nema_tex_t right, - uint32_t blending_mode, float step, int width, int height); - -/** \brief Inner Cube (textures are mapped on the internal faces of a cube) transition vertically. When 'step' changes from zero to one, textures move from top to bottom, -otherwise textures move from bottom to top. The transition The transition is complete when 'step' is 0 or 1. - * - * \param up Texture on the top side - * \param down Texture on the bottom side - * \param blending_mode Blending mode - * \param step Current step within [0.f , 1.f] range - * \param width Texture width - * \param height Texture height - * - */ -void nema_transition_innercube_ver(nema_tex_t up, nema_tex_t down, - uint32_t blending_mode, float step, int width, int height); - -/** \brief Stack transition horizontally. When 'step' changes from zero to one, textures move from left to right, -otherwise textures move from right to left. The transition is complete when 'step' is 0 or 1. - * - * \param up Texture on the top side - * \param down Texture on the bottom side - * \param blending_mode Blending mode - * \param step Current step within [0.f , 1.f] range - * \param width Texture width - * \param height Texture height - * - */ -void nema_transition_stack_hor(nema_tex_t left, nema_tex_t right, float step, - int width, int height); - -/** \brief Stack transition vertically. When 'step' moves from zero to one, textures move from top to bottom, -otherwise textures move from bottom to top. The transition is complete when 'step' is 0 or 1. - * - * \param up Texture on the top side - * \param down Texture on the bottom side - * \param blending_mode Blending mode - * \param step Current step within [0.f , 1.f] range - * \param width Texture width - * \param height Texture height - * - */ -void nema_transition_stack_ver(nema_tex_t up, nema_tex_t down, float step, - int width, int height); - -/** \brief Fade transition. Initial texture is being faded out, while final texture is being faded in. -The transition is complete when 'step' is 0 or 1. - * - * \param left Texture on the left side - * \param right Texture on the right side - * \param blending_mode Blending mode - * \param step Current step within [0.f , 1.f] range - * \param width Texture width - * \param height Texture height - * - */ -void nema_transition_fade(nema_tex_t initial, nema_tex_t final, - uint32_t blending_mode, float step, int width, int height); - -/** \brief Fade-zoom transition. Initial texture is being zoomed and faded out, while final texture is being zoomed and faded in. -The transition is complete when 'step' is 0 or 1. - * - * \param initial Initial texture - * \param final Final texture - * \param blending_mode Blending mode - * \param step Current step within [0.f , 1.f] range - * \param width Texture width - * \param height Texture height - * - */ -void nema_transition_fade_zoom(nema_tex_t initial, nema_tex_t final, - uint32_t blending_mode, float step, int width, int height); - -#ifdef __cplusplus -} -#endif - -#endif +/* TSI 2023.xmo */ +/******************************************************************************* + * Copyright (c) 2023 Think Silicon Single Member PC + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this header file and/or associated documentation files to use, copy, + * modify, merge, publish, distribute, sublicense, and/or sell copies of the + * Materials, and to permit persons to whom the Materials are furnished to do + * so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Materials. + * + * MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS + * NEMAGFX API. THE UNMODIFIED, NORMATIVE VERSIONS OF THINK-SILICON NEMAGFX + * SPECIFICATIONS AND HEADER INFORMATION ARE LOCATED AT: + * https://think-silicon.com/products/software/nemagfx-api + * + * The software is provided 'as is', without warranty of any kind, express or + * implied, including but not limited to the warranties of merchantability, + * fitness for a particular purpose and noninfringement. In no event shall + * Think Silicon Single Member PC be liable for any claim, damages or other + * liability, whether in an action of contract, tort or otherwise, arising + * from, out of or in connection with the software or the use or other dealings + * in the software. + ******************************************************************************/ + + +#ifndef NEMA_TRANSITIONS_H__ +#define NEMA_TRANSITIONS_H__ + +#include "nema_blender.h" + +#ifdef __cplusplus +extern "C" { +#endif + +typedef enum { + NEMA_TRANS_LINEAR_H, + NEMA_TRANS_CUBE_H, + NEMA_TRANS_INNERCUBE_H, + NEMA_TRANS_STACK_H, + NEMA_TRANS_LINEAR_V, + NEMA_TRANS_CUBE_V, + NEMA_TRANS_INNERCUBE_V, + NEMA_TRANS_STACK_V, + NEMA_TRANS_FADE, + NEMA_TRANS_FADE_ZOOM, + NEMA_TRANS_MAX, + NEMA_TRANS_NONE, +} nema_transition_t; + +/** \brief Transition from 'initial' texture to 'final' texture. The transition is complete when 'step' is 0 or 1 + * + * \param effect Transition effect + * \param initial Initial texture + * \param final Final texture + * \param blending_mode Blending mode + * \param step Transition step within [0.f , 1.f] range + * \param width Texture width + * \param height Texture height + * + */ +void nema_transition(nema_transition_t effect, nema_tex_t initial, nema_tex_t final, + uint32_t blending_mode, float step, int width, int height); + + +/** \brief Linear transition horizontally. When 'step' changes from zero to one, textures move from right to left, +otherwise textures move from left to right. The transition is complete when 'step' is 0 or 1. + * + * \param left Texture on the left side + * \param right Texture on the right side + * \param blending_mode Blending mode + * \param step Current step within [0.f , 1.f] range + * \param width Texture width + * + */ +void nema_transition_linear_hor(nema_tex_t left, nema_tex_t right, + uint32_t blending_mode, float step, int width); + +/** \brief Linear transition vertically. When 'step' changes from zero to one, textures move from top to bottom, +otherwise textures move from bottom to top. The transition is complete when 'step' is 0 or 1. + * + * \param up Texture on the top side + * \param down Texture on the bottom side + * \param blending_mode Blending mode + * \param step Current step within [0.f , 1.f] range + * \param height Texture height + * + */ +void nema_transition_linear_ver(nema_tex_t up, nema_tex_t down, + uint32_t blending_mode, float step, int height); + +/** \brief Cubic (textures are mapped on the external faces of a cube) transition horizontally. When 'step' changes from zero to one, textures move from left to right, +otherwise textures move from right to left. The transition is complete when 'step' is 0 or 1. + * + * \param left Texture on the left side + * \param right Texture on the right side + * \param blending_mode Blending mode + * \param step Current step within [0.f , 1.f] range + * \param width Texture width + * \param height Texture height + * + */ +void nema_transition_cube_hor(nema_tex_t left, nema_tex_t right, + uint32_t blending_mode, float step, int width, int height); + +/** \brief Cube (textures are mapped on the external faces of a cube) transition vertically. When 'step' changes from zero to one, textures move from top to bottom, +otherwise textures move from bottom to top. The transition is complete when 'step' is 0 or 1. + * + * \param up Texture on the top side + * \param down Texture on the bottom side + * \param blending_mode Blending mode + * \param step Current step within [0.f , 1.f] range + * \param width Texture width + * \param height Texture height + * + */ +void nema_transition_cube_ver(nema_tex_t up, nema_tex_t down, + uint32_t blending_mode, float step, int width, int height); + +/** \brief Inner Cube (textures are mapped on the internal faces of a cube) transition horizontally. When 'step' changes from zero to one, textures move from left to right, +otherwise textures move from right to left. The transition is complete when 'step' is 0 or 1. + * + * \param left Texture on the left side + * \param right Texture on the right side + * \param blending_mode Blending mode + * \param step Current step within [0.f , 1.f] range + * \param width Texture width + * \param height Texture height + * + */ +void nema_transition_innercube_hor(nema_tex_t left, nema_tex_t right, + uint32_t blending_mode, float step, int width, int height); + +/** \brief Inner Cube (textures are mapped on the internal faces of a cube) transition vertically. When 'step' changes from zero to one, textures move from top to bottom, +otherwise textures move from bottom to top. The transition The transition is complete when 'step' is 0 or 1. + * + * \param up Texture on the top side + * \param down Texture on the bottom side + * \param blending_mode Blending mode + * \param step Current step within [0.f , 1.f] range + * \param width Texture width + * \param height Texture height + * + */ +void nema_transition_innercube_ver(nema_tex_t up, nema_tex_t down, + uint32_t blending_mode, float step, int width, int height); + +/** \brief Stack transition horizontally. When 'step' changes from zero to one, textures move from left to right, +otherwise textures move from right to left. The transition is complete when 'step' is 0 or 1. + * + * \param up Texture on the top side + * \param down Texture on the bottom side + * \param blending_mode Blending mode + * \param step Current step within [0.f , 1.f] range + * \param width Texture width + * \param height Texture height + * + */ +void nema_transition_stack_hor(nema_tex_t left, nema_tex_t right, float step, + int width, int height); + +/** \brief Stack transition vertically. When 'step' moves from zero to one, textures move from top to bottom, +otherwise textures move from bottom to top. The transition is complete when 'step' is 0 or 1. + * + * \param up Texture on the top side + * \param down Texture on the bottom side + * \param blending_mode Blending mode + * \param step Current step within [0.f , 1.f] range + * \param width Texture width + * \param height Texture height + * + */ +void nema_transition_stack_ver(nema_tex_t up, nema_tex_t down, float step, + int width, int height); + +/** \brief Fade transition. Initial texture is being faded out, while final texture is being faded in. +The transition is complete when 'step' is 0 or 1. + * + * \param left Texture on the left side + * \param right Texture on the right side + * \param blending_mode Blending mode + * \param step Current step within [0.f , 1.f] range + * \param width Texture width + * \param height Texture height + * + */ +void nema_transition_fade(nema_tex_t initial, nema_tex_t final, + uint32_t blending_mode, float step, int width, int height); + +/** \brief Fade-zoom transition. Initial texture is being zoomed and faded out, while final texture is being zoomed and faded in. +The transition is complete when 'step' is 0 or 1. + * + * \param initial Initial texture + * \param final Final texture + * \param blending_mode Blending mode + * \param step Current step within [0.f , 1.f] range + * \param width Texture width + * \param height Texture height + * + */ +void nema_transition_fade_zoom(nema_tex_t initial, nema_tex_t final, + uint32_t blending_mode, float step, int width, int height); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/libs/nema_gfx/include/nema_utils.h b/libs/nema_gfx/include/nema_utils.h index 0bff05a91..03caff051 100644 --- a/libs/nema_gfx/include/nema_utils.h +++ b/libs/nema_gfx/include/nema_utils.h @@ -1,50 +1,50 @@ -/* TSI 2023.xmo */ -/******************************************************************************* - * Copyright (c) 2023 Think Silicon Single Member PC - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this header file and/or associated documentation files to use, copy, - * modify, merge, publish, distribute, sublicense, and/or sell copies of the - * Materials, and to permit persons to whom the Materials are furnished to do - * so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Materials. - * - * MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS - * NEMAGFX API. THE UNMODIFIED, NORMATIVE VERSIONS OF THINK-SILICON NEMAGFX - * SPECIFICATIONS AND HEADER INFORMATION ARE LOCATED AT: - * https://think-silicon.com/products/software/nemagfx-api - * - * The software is provided 'as is', without warranty of any kind, express or - * implied, including but not limited to the warranties of merchantability, - * fitness for a particular purpose and noninfringement. In no event shall - * Think Silicon Single Member PC be liable for any claim, damages or other - * liability, whether in an action of contract, tort or otherwise, arising - * from, out of or in connection with the software or the use or other dealings - * in the software. - ******************************************************************************/ - - -#ifndef NEMA_UTILS_H_ -#define NEMA_UTILS_H_ - -#include "nema_hal.h" - -#ifdef __cplusplus -extern "C" { -#endif - -float nema_get_time(void); -float nema_get_wall_time(void); -nema_buffer_t nema_load_file(const char *filename, int length, void *buffer); -int nema_save_file(const char *filename, int length, void *buffer); -unsigned int nema_rand(void); -void nema_calculate_fps(void); -void * nema_memcpy ( void * destination, const void * source, size_t num ); - -#ifdef __cplusplus -} -#endif - -#endif +/* TSI 2023.xmo */ +/******************************************************************************* + * Copyright (c) 2023 Think Silicon Single Member PC + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this header file and/or associated documentation files to use, copy, + * modify, merge, publish, distribute, sublicense, and/or sell copies of the + * Materials, and to permit persons to whom the Materials are furnished to do + * so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Materials. + * + * MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS + * NEMAGFX API. THE UNMODIFIED, NORMATIVE VERSIONS OF THINK-SILICON NEMAGFX + * SPECIFICATIONS AND HEADER INFORMATION ARE LOCATED AT: + * https://think-silicon.com/products/software/nemagfx-api + * + * The software is provided 'as is', without warranty of any kind, express or + * implied, including but not limited to the warranties of merchantability, + * fitness for a particular purpose and noninfringement. In no event shall + * Think Silicon Single Member PC be liable for any claim, damages or other + * liability, whether in an action of contract, tort or otherwise, arising + * from, out of or in connection with the software or the use or other dealings + * in the software. + ******************************************************************************/ + + +#ifndef NEMA_UTILS_H_ +#define NEMA_UTILS_H_ + +#include "nema_hal.h" + +#ifdef __cplusplus +extern "C" { +#endif + +float nema_get_time(void); +float nema_get_wall_time(void); +nema_buffer_t nema_load_file(const char *filename, int length, void *buffer); +int nema_save_file(const char *filename, int length, void *buffer); +unsigned int nema_rand(void); +void nema_calculate_fps(void); +void * nema_memcpy ( void * destination, const void * source, size_t num ); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/libs/nema_gfx/include/nema_version.h b/libs/nema_gfx/include/nema_version.h new file mode 100644 index 000000000..8bd7af1b1 --- /dev/null +++ b/libs/nema_gfx/include/nema_version.h @@ -0,0 +1,55 @@ +/* TSI 2023.xmo */ +/******************************************************************************* + * Copyright (c) 2023 Think Silicon Single Member PC + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this header file and/or associated documentation files to use, copy, + * modify, merge, publish, distribute, sublicense, and/or sell copies of the + * Materials, and to permit persons to whom the Materials are furnished to do + * so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Materials. + * + * MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS + * NEMAGFX API. THE UNMODIFIED, NORMATIVE VERSIONS OF THINK-SILICON NEMAGFX + * SPECIFICATIONS AND HEADER INFORMATION ARE LOCATED AT: + * https://think-silicon.com/products/software/nemagfx-api + * + * The software is provided 'as is', without warranty of any kind, express or + * implied, including but not limited to the warranties of merchantability, + * fitness for a particular purpose and noninfringement. In no event shall + * Think Silicon Single Member PC be liable for any claim, damages or other + * liability, whether in an action of contract, tort or otherwise, arising + * from, out of or in connection with the software or the use or other dealings + * in the software. + ******************************************************************************/ + +/** + * @file + * @brief Contains version numbers for NemaGFX API and the currently supported font version. + * + */ + +#ifndef NEMA_VERSION_H__ +#define NEMA_VERSION_H__ + +#ifdef __cplusplus +extern "C" { +#endif + +#define NEMA_MAJOR_VERSION 0x01U /**< NemaGFX API version, major number */ +#define NEMA_MINOR_VERSION 0x04U /**< NemaGFX API version, minor number */ +#define NEMA_REVISION_VERSION 0x0BU /**< NemaGFX API version, revision number */ +#define NEMA_IMP_VERSION 0x00240600U /**< NemaGFX API version, implementation in format 0x00YYMM00 (Y: year, M: month) */ + +#define NEMA_API_VERSION ((NEMA_MAJOR_VERSION << 16) + (NEMA_MINOR_VERSION << 8) + (NEMA_REVISION_VERSION)) /**< NemaGFX API version in format 0x00MMmmrr (M:major, m:minor, r:revision if any) */ + +#define NEMA_FONT_VERSION 0x01U /**< Current font version */ + + +#ifdef __cplusplus +} +#endif + +#endif //NEMA_VERSION_H__ diff --git a/libs/nema_gfx/include/nema_vg.h b/libs/nema_gfx/include/nema_vg.h index 068559f3e..af5f95522 100644 --- a/libs/nema_gfx/include/nema_vg.h +++ b/libs/nema_gfx/include/nema_vg.h @@ -1,218 +1,254 @@ -/* TSI 2023.xmo */ -/******************************************************************************* - * Copyright (c) 2023 Think Silicon Single Member PC - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this header file and/or associated documentation files to use, copy, - * modify, merge, publish, distribute, sublicense, and/or sell copies of the - * Materials, and to permit persons to whom the Materials are furnished to do - * so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Materials. - * - * MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS - * NEMAGFX API. THE UNMODIFIED, NORMATIVE VERSIONS OF THINK-SILICON NEMAGFX - * SPECIFICATIONS AND HEADER INFORMATION ARE LOCATED AT: - * https://think-silicon.com/products/software/nemagfx-api - * - * The software is provided 'as is', without warranty of any kind, express or - * implied, including but not limited to the warranties of merchantability, - * fitness for a particular purpose and noninfringement. In no event shall - * Think Silicon Single Member PC be liable for any claim, damages or other - * liability, whether in an action of contract, tort or otherwise, arising - * from, out of or in connection with the software or the use or other dealings - * in the software. - ******************************************************************************/ - -/** - * @file - * @brief Core NemaVG API drawing and initialization functions. - * - */ - -#ifndef __NEMA_VG_H__ -#define __NEMA_VG_H__ - -#include "nema_core.h" -#include "nema_sys_defs.h" -#include "nema_vg_path.h" -#include "nema_vg_paint.h" -#include "nema_vg_context.h" - -#ifdef __cplusplus -extern "C" { -#endif - -// ------------------------------------------------------------------------------- -// SETUP -// ------------------------------------------------------------------------------- - -/** \brief Initializes NemaVG library and allocates the stencil buffer to the default memory pool (NEMA_MEM_POOL_FB) - * Call either this or nema_vg_init_stencil_pool to allocate the stencil buffer to a different memory pool - * or nema_vg_init_stencil_prealloc to provide the stencil buffer - * \param width Framebuffer width - * \param height Framebuffer height - */ -void nema_vg_init(int width, int height); - -/** \brief Initializes NemaVG library and allocate the stencil buffer in a specific memory pool. - * Call either this or nema_vg_init to allocate the stencil buffer to the default memory pool (NEMA_MEM_POOL_FB) - * or nema_vg_init_stencil_prealloc to provide the stencil buffer - * \param width Framebuffer width - * \param height Framebuffer height - * \param pool Memory pool for allocating the stencil buffer (memory pools are platform specific and defined in nema_sys_defs.h file) - */ -void nema_vg_init_stencil_pool(int width, int height, int pool); - -/** \brief Initializes NemaVG library without allocating the stencil buffer which is provided by the user. - * Call either this or nema_vg_init to allocate the stencil buffer to the default memory pool (NEMA_MEM_POOL_FB) - * or nema_vg_init_stencil_pool to allocate the stencil buffer to a different memory pool - * \param width Framebuffer width - * \param height Framebuffer height - * \param stencil_bo stencil buffer - */ -void nema_vg_init_stencil_prealloc(int width, int height, nema_buffer_t stencil_bo); - - -/** \brief Reinitialize NemaVG library after a gpu powerofff - * - */ -void nema_vg_reinit(); - -/** \brief Deinitialize NemaVG library. Free memory from implicitly allocated objects (stencil buffer - * if created inside the library, lut buffer and tsvgs' path, paint and gradient buffers) - * - * - */ -void nema_vg_deinit(); - -// ------------------------------------------------------------------------------- -// PATH DRAW -// ------------------------------------------------------------------------------- - -/** \brief Draw a path using a specified paint object - * - * \param path Pointer (handle) to the path that will be drawn - * \param paint Pointer (handle) to the paint object that wil be used for drawing - - * \return Error code. See NEMA_VG_ERR_* defines in "nema_vg_context.h" header file for the error codes. - * - */ -uint32_t nema_vg_draw_path(NEMA_VG_PATH_HANDLE path, NEMA_VG_PAINT_HANDLE paint); - -/** \brief Draw a line shape - * - * \param x1 Upper left x coordinate - * \param y1 Upper left y coordinate - * \param x2 The width - * \param y2 The height - * \param m 3x3 affine transformation matrix - * \param paint The paint to draw - - * \return Error code. See NEMA_VG_ERR_* defines in "nema_vg_context.h" header file for the error codes. - * - */ -uint32_t nema_vg_draw_line(float x1, float y1, float x2, float y2, - nema_matrix3x3_t m, - NEMA_VG_PAINT_HANDLE paint); - -/** \brief Draw a rectangle shape - * - * \param x Upper left x coordinate - * \param y Upper left y coordinate - * \param width The width - * \param height The height - * \param m 3x3 affine transformation matrix - * \param paint The paint to draw - - * \return Error code - * - */ -uint32_t nema_vg_draw_rect(float x, float y, float width, float height, - nema_matrix3x3_t m, - NEMA_VG_PAINT_HANDLE paint); - -/** \brief Draw a rounded rectangle shape - * - * \param x Upper left x coordinate - * \param y Upper left y coordinate - * \param width The width - * \param height The height - * \param rx Horizontal cornel radius - * \param ry Vertical cornel radius - * \param m 3x3 affine transformation matrix - * \param paint The paint to draw - - * \return Error code. See NEMA_VG_ERR_* defines in "nema_vg_context.h" header file for the error codes. - * - */ -uint32_t nema_vg_draw_rounded_rect(float x, float y, float width, float height, - float rx, float ry, - nema_matrix3x3_t m, - NEMA_VG_PAINT_HANDLE paint); - -/** \brief Draw a ellipse shape - * - * \param cx The x position of the ellipse - * \param cy The y position of the ellipse - * \param rx Radius on the x axis - * \param ry Radius on the y axis - * \param m 3x3 affine transformation matrix - * \param paint The paint to draw - - * \return Error code. See NEMA_VG_ERR_* defines in "nema_vg_context.h" header file for the error codes. - * - */ -uint32_t nema_vg_draw_ellipse(float cx, float cy, float rx, float ry, - nema_matrix3x3_t m, - NEMA_VG_PAINT_HANDLE paint); - -/** \brief Draw a circle shape - * - * \param cx The x center of the circle - * \param cy The y center of the circle - * \param r Radius of the circle - * \param m 3x3 affine transformation matrix - * \param paint The paint to draw - - * \return Error code. See NEMA_VG_ERR_* defines in "nema_vg_context.h" header file for the error codes. - * - */ -uint32_t nema_vg_draw_circle(float cx, float cy, float r, - nema_matrix3x3_t m, - NEMA_VG_PAINT_HANDLE paint); - - -/** \brief Draw a filled ring with rounded caps shape. In case of a conical gradient paint type, - * the conical gradient center should be at the center of the ring(cx, cy). In other case, where the two centers do not match, - * the ring should be drawn with NEMA_VG_QUALITY_MAXIMUM. The ring width can be set with the paint's stroke_width. - * - * \param cx The center x coordinate of the ring - * \param cy The center y coordinate of the ring - * \param ring_radius The radius of the ring - * \param angle_start The angle in degrees of the ring - * \param angle_end The angle in degrees that ends this ring - * \param paint The paint to draw - - * \return Error code. See NEMA_VG_ERR_* defines in "nema_vg_context.h" header file for the error codes. - * - */ -uint32_t nema_vg_draw_ring(float cx, float cy, float ring_radius, float angle_start, float angle_end, - NEMA_VG_PAINT_HANDLE paint); - - -/** \brief Returns the minimum and maximum values for the coordinates that - * can be handled by the underlying hardware - * - * \param min_coord Minimum coordinate (x or y) value (pointer) - * \param max_coord Maximum coordinate (x or y) value (pointer) - * - */ -void nema_vg_get_coord_limits(float *min_coord, float *max_coord); - -#ifdef __cplusplus -} -#endif - -#endif //__NEMA_VG_H__ +/* TSI 2023.xmo */ +/******************************************************************************* + * Copyright (c) 2023 Think Silicon Single Member PC + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this header file and/or associated documentation files to use, copy, + * modify, merge, publish, distribute, sublicense, and/or sell copies of the + * Materials, and to permit persons to whom the Materials are furnished to do + * so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Materials. + * + * MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS + * NEMAGFX API. THE UNMODIFIED, NORMATIVE VERSIONS OF THINK-SILICON NEMAGFX + * SPECIFICATIONS AND HEADER INFORMATION ARE LOCATED AT: + * https://think-silicon.com/products/software/nemagfx-api + * + * The software is provided 'as is', without warranty of any kind, express or + * implied, including but not limited to the warranties of merchantability, + * fitness for a particular purpose and noninfringement. In no event shall + * Think Silicon Single Member PC be liable for any claim, damages or other + * liability, whether in an action of contract, tort or otherwise, arising + * from, out of or in connection with the software or the use or other dealings + * in the software. + ******************************************************************************/ + +/** + * @file + * @brief Core NemaVG API drawing and initialization functions. + * + */ + +#ifndef __NEMA_VG_H__ +#define __NEMA_VG_H__ + +#include "nema_core.h" +#include "nema_sys_defs.h" +#include "nema_vg_path.h" +#include "nema_vg_paint.h" +#include "nema_vg_context.h" + +#ifdef __cplusplus +extern "C" { +#endif + +// ------------------------------------------------------------------------------- +// SETUP +// ------------------------------------------------------------------------------- + +/** \brief Initializes NemaVG library and allocates the stencil buffer to the default memory pool (NEMA_MEM_POOL_FB) + * Call either this or nema_vg_init_stencil_pool to allocate the stencil buffer to a different memory pool + * or nema_vg_init_stencil_prealloc to provide the stencil buffer + * \param width Framebuffer width + * \param height Framebuffer height + */ +void nema_vg_init(int width, int height); + +/** \brief Initializes NemaVG library and allocate the stencil buffer in a specific memory pool. + * Call either this or nema_vg_init to allocate the stencil buffer to the default memory pool (NEMA_MEM_POOL_FB) + * or nema_vg_init_stencil_prealloc to provide the stencil buffer + * \param width Stencil buffer width - Must be the first multiple of 4 of the framebuffer width + * \param height Stencil buffer height - Must be the first multiple of 4 of the framebuffer height + * \param pool Memory pool for allocating the stencil buffer (memory pools are platform specific and defined in nema_sys_defs.h file) + */ +void nema_vg_init_stencil_pool(int width, int height, int pool); + +/** \brief Initializes NemaVG library without allocating the stencil buffer which is provided by the user. + * Call either this or nema_vg_init to allocate the stencil buffer to the default memory pool (NEMA_MEM_POOL_FB) + * or nema_vg_init_stencil_pool to allocate the stencil buffer to a different memory pool + * \param width Stencil buffer width - Must be the first multiple of 4 of the framebuffer width + * \param height Stencil buffer height - Must be the first multiple of 4 of the framebuffer height + * \param stencil_bo stencil buffer + */ +void nema_vg_init_stencil_prealloc(int width, int height, nema_buffer_t stencil_bo); + + +/** \brief Reinitialize NemaVG library after a gpu powerofff + * + */ +void nema_vg_reinit(void); + +/** \brief Deinitialize NemaVG library. Free memory from implicitly allocated objects (stencil buffer + * if created inside the library, lut buffer and tsvgs' path, paint and gradient buffers) + * + * + */ +void nema_vg_deinit(void); + +/** \brief Initialize NemaVG library for a new thread. + * Must be called for every new thread that is used. + * + * + */ +void nema_vg_thread_init(void); + + +// ------------------------------------------------------------------------------- +// PATH DRAW +// ------------------------------------------------------------------------------- + +/** \brief Draw a path using a specified paint object + * + * \param path Pointer (handle) to the path that will be drawn + * \param paint Pointer (handle) to the paint object that wil be used for drawing + + * \return Error code. See NEMA_VG_ERR_* defines in "nema_vg_context.h" header file for the error codes. + * + */ +uint32_t nema_vg_draw_path(NEMA_VG_PATH_HANDLE path, NEMA_VG_PAINT_HANDLE paint); + +/** \brief Draw a line shape + * + * \param x1 Upper left x coordinate + * \param y1 Upper left y coordinate + * \param x2 The width + * \param y2 The height + * \param m 3x3 affine transformation matrix + * \param paint The paint to draw + + * \return Error code. See NEMA_VG_ERR_* defines in "nema_vg_context.h" header file for the error codes. + * + */ +uint32_t nema_vg_draw_line(float x1, float y1, float x2, float y2, + nema_matrix3x3_t m, + NEMA_VG_PAINT_HANDLE paint); + +/** \brief Draw a rectangle shape + * + * \param x Upper left x coordinate + * \param y Upper left y coordinate + * \param width The width + * \param height The height + * \param m 3x3 affine transformation matrix + * \param paint The paint to draw + + * \return Error code + * + */ +uint32_t nema_vg_draw_rect(float x, float y, float width, float height, + nema_matrix3x3_t m, + NEMA_VG_PAINT_HANDLE paint); + +/** \brief Draw a rounded rectangle shape + * + * \param x Upper left x coordinate + * \param y Upper left y coordinate + * \param width The width + * \param height The height + * \param rx Horizontal cornel radius + * \param ry Vertical cornel radius + * \param m 3x3 affine transformation matrix + * \param paint The paint to draw + + * \return Error code. See NEMA_VG_ERR_* defines in "nema_vg_context.h" header file for the error codes. + * + */ +uint32_t nema_vg_draw_rounded_rect(float x, float y, float width, float height, + float rx, float ry, + nema_matrix3x3_t m, + NEMA_VG_PAINT_HANDLE paint); + +/** \brief Draw a ellipse shape + * + * \param cx The x position of the ellipse + * \param cy The y position of the ellipse + * \param rx Radius on the x axis + * \param ry Radius on the y axis + * \param m 3x3 affine transformation matrix + * \param paint The paint to draw + + * \return Error code. See NEMA_VG_ERR_* defines in "nema_vg_context.h" header file for the error codes. + * + */ +uint32_t nema_vg_draw_ellipse(float cx, float cy, float rx, float ry, + nema_matrix3x3_t m, + NEMA_VG_PAINT_HANDLE paint); + +/** \brief Draw a circle shape + * + * \param cx The x center of the circle + * \param cy The y center of the circle + * \param r Radius of the circle + * \param m 3x3 affine transformation matrix + * \param paint The paint to draw + + * \return Error code. See NEMA_VG_ERR_* defines in "nema_vg_context.h" header file for the error codes. + * + */ +uint32_t nema_vg_draw_circle(float cx, float cy, float r, + nema_matrix3x3_t m, + NEMA_VG_PAINT_HANDLE paint); + + +/** \brief Draw a filled ring with rounded caps shape. In case of a conical gradient paint type, + * the conical gradient center should be at the center of the ring(cx, cy). In other case, where the two centers do not match, + * the ring should be drawn with NEMA_VG_QUALITY_MAXIMUM. The ring width can be set with the paint's stroke_width. + * + * \param cx The center x coordinate of the ring + * \param cy The center y coordinate of the ring + * \param ring_radius The radius of the ring + * \param angle_start The angle in degrees of the ring + * \param angle_end The angle in degrees that ends this ring + * \param paint The paint to draw + + * \return Error code. See NEMA_VG_ERR_* defines in "nema_vg_context.h" header file for the error codes. + * + */ +uint32_t nema_vg_draw_ring(float cx, float cy, float ring_radius, float angle_start, float angle_end, + NEMA_VG_PAINT_HANDLE paint); + +/** \private + * \brief Draw a filled ring with flat ending or rounded ending caps. In case of a conical gradient paint type, + * the conical gradient center should be at the center of the ring(cx, cy). In other case, where the two centers do not match, + * the ring should be drawn with NEMA_VG_QUALITY_MAXIMUM. The ring width can be set with the paint's stroke_width. + * + * \param cx The center x coordinate of the ring + * \param cy The center y coordinate of the ring + * \param ring_radius The radius of the ring + * \param angle_start The angle in degrees of the ring + * \param angle_end The angle in degrees that ends this ring + * \param paint The paint to draw + * \param has_caps 1 For caps 0 for flat ending + + * \return Error code. See NEMA_VG_ERR_* defines in "nema_vg_context.h" header file for the error codes. + * + */ +uint32_t nema_vg_draw_ring_generic(float cx, float cy, float ring_radius, float angle_start, float angle_end, + NEMA_VG_PAINT_HANDLE paint, uint8_t has_caps); + + +/** \brief Returns the minimum and maximum values for the coordinates that + * can be handled by the underlying hardware + * + * \param min_coord Minimum coordinate (x or y) value (pointer) + * \param max_coord Maximum coordinate (x or y) value (pointer) + * + */ +void nema_vg_get_coord_limits(float *min_coord, float *max_coord); + + +/** \brief Disables tsvg features from rendering. Should be set before + * nema_vg_draw_tsvg() + * + * \param feature feature to be disabled + * + */ +void nema_vg_tsvg_disable_feature(uint32_t feature); + +#ifdef __cplusplus +} +#endif + +#endif //__NEMA_VG_H__ diff --git a/libs/nema_gfx/include/nema_vg_context.h b/libs/nema_gfx/include/nema_vg_context.h index 9f4fee794..5cc237610 100644 --- a/libs/nema_gfx/include/nema_vg_context.h +++ b/libs/nema_gfx/include/nema_vg_context.h @@ -1,187 +1,233 @@ -/* TSI 2023.xmo */ -/******************************************************************************* - * Copyright (c) 2023 Think Silicon Single Member PC - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this header file and/or associated documentation files to use, copy, - * modify, merge, publish, distribute, sublicense, and/or sell copies of the - * Materials, and to permit persons to whom the Materials are furnished to do - * so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Materials. - * - * MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS - * NEMAGFX API. THE UNMODIFIED, NORMATIVE VERSIONS OF THINK-SILICON NEMAGFX - * SPECIFICATIONS AND HEADER INFORMATION ARE LOCATED AT: - * https://think-silicon.com/products/software/nemagfx-api - * - * The software is provided 'as is', without warranty of any kind, express or - * implied, including but not limited to the warranties of merchantability, - * fitness for a particular purpose and noninfringement. In no event shall - * Think Silicon Single Member PC be liable for any claim, damages or other - * liability, whether in an action of contract, tort or otherwise, arising - * from, out of or in connection with the software or the use or other dealings - * in the software. - ******************************************************************************/ - -/** - * @file - * @brief NemaVG Context interface. - * - * Contains NemaVG error codes, fill rules, rendering quality defines and functions for updating various rendering parameters. - * The functions defined here can be used to access the context parameters. The Context is an internal (opaque) struct of NemaVG. - */ - -#ifndef __NEMA_VG_CONTEXT_H__ -#define __NEMA_VG_CONTEXT_H__ - -#include "nema_graphics.h" -#include "nema_matrix3x3.h" - -#ifdef __cplusplus -extern "C" { -#endif - - -#ifndef NEMA_VG_HANDLE -#define NEMA_VG_HANDLE void* /**< NemaVG handle object (void pointer)*/ -#endif - -#define NEMA_VG_PATH_HANDLE NEMA_VG_HANDLE /**< NemaVG path handle (pointer to path object)*/ -#define NEMA_VG_PAINT_HANDLE NEMA_VG_HANDLE /**< NemaVG paint handle (pointer to paint object)*/ -#define NEMA_VG_GRAD_HANDLE NEMA_VG_HANDLE /**< NemaVG gradient handle (pointer to gradient object)*/ - -typedef float nema_vg_float_t; /**< Floating point data type (default is 'float') */ - -#define NEMA_VG_ERR_NO_ERROR (0x00000000U) /**< No Error */ -#define NEMA_VG_ERR_BAD_HANDLE (0x00000001U) /**< Bad handle */ -#define NEMA_VG_ERR_BAD_BUFFER (0x00000002U) /**< Bad buffer */ -#define NEMA_VG_ERR_INVALID_FILL_RULE (0x00000004U) /**< Invalid fill rule*/ -#define NEMA_VG_ERR_INVALID_PAINT_TYPE (0x00000008U) /**< Invalid paint type*/ -#define NEMA_VG_ERR_INVALID_VERTEX_DATA (0x00000010U) /**< Invalid vertex data*/ -#define NEMA_VG_ERR_NO_RADIAL_ENABLED (0x00000020U) /**< Radial not present in HW*/ -#define NEMA_VG_ERR_NO_BOUND_CL (0x00000040U) /**< No bound CL*/ -#define NEMA_VG_ERR_INVALID_ARGUMENTS (0x00000080U) /**< Invalid arguments*/ -#define NEMA_VG_ERR_INVALID_ARC_DATA (0x00000100U) /**< reserved */ -#define NEMA_VG_ERR_CL_FULL (0x00000200U) /**< reserved */ -#define NEMA_VG_ERR_DRAW_OUT_OF_BOUNDS (0x00000400U) /**< Path is out of the drawing area */ -#define NEMA_VG_ERR_INVALID_MASKING_OBJ (0x00000800U) /**< Masking object was not set */ -#define NEMA_VG_ERR_INVALID_MASKING_FORMAT (0x00001000U) /**< Invalid Masking object Format */ -#define NEMA_VG_ERR_INVALID_LUT_IDX_FORMAT (0x00002000U) /**< Invalid LUT indices object Format */ -#define NEMA_VG_ERR_COORDS_OUT_OF_RANGE (0x00004000U) /**< Path coordinates out of supported range */ -#define NEMA_VG_ERR_EMPTY_TSVG (0x00008000U) /**< Tsvg has no geometries */ -#define NEMA_VG_ERR_NO_BOUND_FONT (0x00010000U) /**< There is no bound font */ -#define NEMA_VG_ERR_UNSUPPORTED_FONT (0x00020000U) /**< The font is not supported (eg. older version) by NemaVG API */ -#define NEMA_VG_ERR_NON_INVERTIBLE_MATRIX (0x00040000U) /**< A matrix that needs to be inverted, is not invertible */ -#define NEMA_VG_ERR_INVALID_GRAD_STOPS (0x00080000U) /**< Gradient stops exceed maximum available stops */ -#define NEMA_VG_ERR_NO_INIT (0x00100000U) /**< VG uninitialized */ -#define NEMA_VG_ERR_INVALID_STROKE_WIDTH (0x00200000U) /**< Invalid stroke width */ -#define NEMA_VG_ERR_INVALID_OPACITY (0x00400000U) /**< Invalid opacity */ - -#define NEMA_VG_FILL_DRAW (0x00U) /**< DEPRECATED Stroke fill rule */ -#define NEMA_VG_STROKE (0x00U) /**< Stroke fill rule */ -#define NEMA_VG_FILL_EVEN_ODD (0x01U) /**< Evenodd fill rule */ -#define NEMA_VG_FILL_NON_ZERO (0x02U) /**< Non zero fill rule */ - -#define NEMA_VG_QUALITY_BETTER (0x00U) /**< Better rendering quality (default option, balances rendering quality and performance)*/ -#define NEMA_VG_QUALITY_FASTER (0x01U) /**< Faster rendering quality (favors performance over rendering quality)*/ -#define NEMA_VG_QUALITY_MAXIMUM (0x02U) /**< Maximum rendering quality (favors rendering quality over performance)*/ -#define NEMA_VG_QUALITY_NON_AA (0x10U) /**< Rendering quality without AA*/ - - -/** \brief Set the global transformation matrix. Global matrix will be applied in all NemaVG rendering operations that will follow. - * - * \param m transformation matrix - * - * \return Error code - */ -uint32_t nema_vg_set_global_matrix(nema_matrix3x3_t m); - - -/** \brief Disable the global transformation matrix. - * - */ -void nema_vg_reset_global_matrix(void); - -/** \brief Set the fill rule that will be applied when rendering a path. - * - * \param fill_rule fill rule (NEMA_VG_STROKE, NEMA_VG_FILL_EVEN_ODD, NEMA_VG_FILL_NON_ZERO) - * - */ -void nema_vg_set_fill_rule(uint8_t fill_rule); - -/** \brief Enable/Disable Masking. - * - * \param masking 1 to enable, 0 to disable - * - */ -void nema_vg_masking(uint8_t masking); - -/** \brief Set the mask object (texture) - * - * \param mask_obj Texture to be used as mask. Its format must be NEMA_A1, NEMA_A2, NEMA_A4 or Nema_A8, otherwise it will return an error. - * \return Error code. If no error occurs, NEMA_VG_ERR_NO_ERROR otherwise NEMA_VG_ERR_INVALID_MASKING_FORMAT. - * - */ -uint32_t nema_vg_set_mask(nema_img_obj_t *mask_obj); - -/** \brief Translate the mask object (texture) with respect to origin point (0, 0). Sets the position of the mask object. - * - * \param x Horizontal position to place the mask object - * \param y Horizontal position to place the mask object - * - */ -void nema_vg_set_mask_translation(float x, float y); - -/** \brief Set the rendering quality - * - * \param quality level (NEMA_VG_QUALITY_BETTER, NEMA_VG_QUALITY_FASTER, NEMA_VG_QUALITY_MAXIMUM, NEMA_VG_QUALITY_NON_AA) - * - */ -void nema_vg_set_quality(uint8_t quality); - -/** \brief Set the blending mode for VG operations (see nema_blender.h documentation in NemaGFX API Manual) - * Additional Blending Operations: only NEMA_BLOP_SRC_PREMULT is supported - * - * \param blend Blending mode - * \see nema_blending_mode() - * - */ -void nema_vg_set_blend(uint32_t blend); - -/** \brief Get the current error code. Clears the error afterwards. - * - * \return Error code. See NEMA_VG_ERR_* defines for all the possible error codes. - */ -uint32_t nema_vg_get_error(void); - -/** \brief Enable/disable large coordinates handling when rendering a TSVG, a path or a predefined shape - * - * \param enable 0 to disable, 1 to enable - * \param allow_internal_alloc 0 to not allow internal allocation, 1 to allow - * - */ -void nema_vg_handle_large_coords(uint8_t enable, uint8_t allow_internal_alloc); - -/** \brief Bind segment and data buffers to be used for handling large coordinates - * - * \param segs Pointer to segment buffer for large coordinates - * \param segs_size_bytes Segment buffer size in bytes - * \param data Pointer to data buffer for large coordinates - * \param data_size_bytes Data buffer size in bytes - * - */ -uint32_t nema_vg_bind_clip_coords_buf(void *segs, uint32_t segs_size_bytes, void *data, uint32_t data_size_bytes); - -/** \brief Unbind segment and data buffers to be used for handling large coordinates - * - * - */ -void nema_vg_unbind_clip_coords_buf(void); - -#ifdef __cplusplus -} -#endif - -#endif //__NEMA_VG_CONTEXT_H__ +/* TSI 2023.xmo */ +/******************************************************************************* + * Copyright (c) 2023 Think Silicon Single Member PC + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this header file and/or associated documentation files to use, copy, + * modify, merge, publish, distribute, sublicense, and/or sell copies of the + * Materials, and to permit persons to whom the Materials are furnished to do + * so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Materials. + * + * MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS + * NEMAGFX API. THE UNMODIFIED, NORMATIVE VERSIONS OF THINK-SILICON NEMAGFX + * SPECIFICATIONS AND HEADER INFORMATION ARE LOCATED AT: + * https://think-silicon.com/products/software/nemagfx-api + * + * The software is provided 'as is', without warranty of any kind, express or + * implied, including but not limited to the warranties of merchantability, + * fitness for a particular purpose and noninfringement. In no event shall + * Think Silicon Single Member PC be liable for any claim, damages or other + * liability, whether in an action of contract, tort or otherwise, arising + * from, out of or in connection with the software or the use or other dealings + * in the software. + ******************************************************************************/ + +/** + * @file + * @brief NemaVG Context interface. + * + * Contains NemaVG error codes, fill rules, rendering quality defines and functions for updating various rendering parameters. + * The functions defined here can be used to access the context parameters. The Context is an internal (opaque) struct of NemaVG. + */ + +#ifndef __NEMA_VG_CONTEXT_H__ +#define __NEMA_VG_CONTEXT_H__ + +#include "nema_graphics.h" +#include "nema_matrix3x3.h" + +#ifdef __cplusplus +extern "C" { +#endif + + +#ifndef NEMA_VG_HANDLE +#define NEMA_VG_HANDLE void* /**< NemaVG handle object (void pointer)*/ +#endif + +#define NEMA_VG_PATH_HANDLE NEMA_VG_HANDLE /**< NemaVG path handle (pointer to path object)*/ +#define NEMA_VG_PAINT_HANDLE NEMA_VG_HANDLE /**< NemaVG paint handle (pointer to paint object)*/ +#define NEMA_VG_GRAD_HANDLE NEMA_VG_HANDLE /**< NemaVG gradient handle (pointer to gradient object)*/ + +typedef float nema_vg_float_t; /**< Floating point data type (default is 'float') */ + +#define NEMA_VG_ERR_NO_ERROR (0x00000000U) /**< No Error */ +#define NEMA_VG_ERR_BAD_HANDLE (0x00000001U) /**< Bad handle */ +#define NEMA_VG_ERR_BAD_BUFFER (0x00000002U) /**< Bad buffer */ +#define NEMA_VG_ERR_INVALID_FILL_RULE (0x00000004U) /**< Invalid fill rule*/ +#define NEMA_VG_ERR_INVALID_PAINT_TYPE (0x00000008U) /**< Invalid paint type*/ +#define NEMA_VG_ERR_INVALID_VERTEX_DATA (0x00000010U) /**< Invalid vertex data*/ +#define NEMA_VG_ERR_NO_RADIAL_ENABLED (0x00000020U) /**< Radial not present in HW*/ +#define NEMA_VG_ERR_NO_BOUND_CL (0x00000040U) /**< No bound CL*/ +#define NEMA_VG_ERR_INVALID_ARGUMENTS (0x00000080U) /**< Invalid arguments*/ +#define NEMA_VG_ERR_INVALID_ARC_DATA (0x00000100U) /**< reserved */ +#define NEMA_VG_ERR_CL_FULL (0x00000200U) /**< reserved */ +#define NEMA_VG_ERR_DRAW_OUT_OF_BOUNDS (0x00000400U) /**< Path is out of the drawing area */ +#define NEMA_VG_ERR_INVALID_MASKING_OBJ (0x00000800U) /**< Masking object was not set */ +#define NEMA_VG_ERR_INVALID_MASKING_FORMAT (0x00001000U) /**< Invalid Masking object Format */ +#define NEMA_VG_ERR_INVALID_LUT_IDX_FORMAT (0x00002000U) /**< Invalid LUT indices object Format */ +#define NEMA_VG_ERR_COORDS_OUT_OF_RANGE (0x00004000U) /**< Path coordinates out of supported range */ +#define NEMA_VG_ERR_EMPTY_TSVG (0x00008000U) /**< Tsvg has no geometries */ +#define NEMA_VG_ERR_NO_BOUND_FONT (0x00010000U) /**< There is no bound font */ +#define NEMA_VG_ERR_UNSUPPORTED_FONT (0x00020000U) /**< The font is not supported (eg. older version) by NemaVG API */ +#define NEMA_VG_ERR_NON_INVERTIBLE_MATRIX (0x00040000U) /**< A matrix that needs to be inverted, is not invertible */ +#define NEMA_VG_ERR_INVALID_GRAD_STOPS (0x00080000U) /**< Gradient stops exceed maximum available stops */ +#define NEMA_VG_ERR_NO_INIT (0x00100000U) /**< VG uninitialized */ +#define NEMA_VG_ERR_INVALID_STROKE_WIDTH (0x00200000U) /**< Invalid stroke width */ +#define NEMA_VG_ERR_INVALID_OPACITY (0x00400000U) /**< Invalid opacity */ +#define NEMA_VG_ERR_INVALID_CAP_STYLE (0x00800000U) /**< Invalid cap style */ +#define NEMA_VG_ERR_INVALID_JOIN_STYLE (0x01000000U) /**< Invalid join style */ +#define NEMA_VG_ERR_INVALID_STENCIL_SIZE (0x02000000U) /**< Invalid stencil buffer size */ + +#define NEMA_VG_FILL_DRAW (0x00U) /**< DEPRECATED Stroke fill rule */ +#define NEMA_VG_STROKE (0x00U) /**< Stroke fill rule */ +#define NEMA_VG_FILL_EVEN_ODD (0x01U) /**< Evenodd fill rule */ +#define NEMA_VG_FILL_NON_ZERO (0x02U) /**< Non zero fill rule */ + +#define NEMA_VG_QUALITY_BETTER (0x00U) /**< Better rendering quality (default option, balances rendering quality and performance)*/ +#define NEMA_VG_QUALITY_FASTER (0x01U) /**< Faster rendering quality (favors performance over rendering quality)*/ +#define NEMA_VG_QUALITY_MAXIMUM (0x02U) /**< Maximum rendering quality (favors rendering quality over performance)*/ +#define NEMA_VG_QUALITY_NON_AA (0x10U) /**< Rendering quality without AA*/ + +#define NEMA_VG_CAP_BUTT (0x00U) /**< Butt cap*/ +#define NEMA_VG_CAP_ROUND (0x01U) /**< Round cap*/ +#define NEMA_VG_CAP_SQUARE (0x02U) /**< Square cap*/ +#define NEMA_VG_CAP_MAX (0x03U) /**< Max value for cap*/ + +#define NEMA_VG_JOIN_BEVEL (0x00U) /**< Bevel join*/ +#define NEMA_VG_JOIN_MITER (0x01U) /**< Mitter join*/ +#define NEMA_VG_JOIN_ROUND (0x02U) /**< Round join*/ +#define NEMA_VG_JOIN_MAX (0x03U) /**< Max for join*/ + +#define NEMA_VG_TSVG_DISABLE_NONE (0x00000000U) /**< Disable none*/ +#define NEMA_VG_TSVG_DISABLE_CAPS (0x00000001U) /**< Disable caps*/ +#define NEMA_VG_TSVG_DISABLE_JOINS (0x00000002U) /**< Disable joins*/ + +/** \brief Set the global transformation matrix. Global matrix will be applied in all NemaVG rendering operations that will follow. + * + * \param m transformation matrix + * + * \return Error code + */ +uint32_t nema_vg_set_global_matrix(nema_matrix3x3_t m); + + +/** \brief Disable the global transformation matrix. + * + */ +void nema_vg_reset_global_matrix(void); + +/** \brief Set the fill rule that will be applied when rendering a path. + * + * \param fill_rule fill rule (NEMA_VG_STROKE, NEMA_VG_FILL_EVEN_ODD, NEMA_VG_FILL_NON_ZERO) + * + */ +void nema_vg_set_fill_rule(uint8_t fill_rule); + +/** \brief Set the stroke width that will be applied when stroking a path. + * + * \param width Stroke width to be set + * + */ +void nema_vg_stroke_set_width(float width); + + /** \brief Set stroke cap style + * + * \param cap_style Cap style (NEMA_VG_CAP_BUTT | NEMA_VG_CAP_SQUARE | NEMA_VG_CAP_ROUND) + * + */ +void nema_vg_stroke_set_cap_style(uint8_t start_cap_style, uint8_t end_cap_style); + + /** \brief Set stroke join style + * + * \param join_style Join style (NEMA_VG_JOIN_BEVEL | NEMA_VG_JOIN_MITER | NEMA_VG_JOIN_ROUND) + * + */ +void nema_vg_stroke_set_join_style(uint8_t join_style); + + /** \brief Set stroke miter limit + * If miter join is chosen and miter length is bigger than the product + * of miter limit and stroke width a bevel join will be added instead + * + * \param miter_limit miter join limit to be set + * + */ +void nema_vg_stroke_set_miter_limit(float miter_limit); + +/** \brief Enable/Disable Masking. + * + * \param masking 1 to enable, 0 to disable + * + */ +void nema_vg_masking(uint8_t masking); + +/** \brief Set the mask object (texture) + * + * \param mask_obj Texture to be used as mask. Its format must be NEMA_A1, NEMA_A2, NEMA_A4 or Nema_A8, otherwise it will return an error. + * \return Error code. If no error occurs, NEMA_VG_ERR_NO_ERROR otherwise NEMA_VG_ERR_INVALID_MASKING_FORMAT. + * + */ +uint32_t nema_vg_set_mask(nema_img_obj_t *mask_obj); + +/** \brief Translate the mask object (texture) with respect to origin point (0, 0). Sets the position of the mask object. + * + * \param x Horizontal position to place the mask object + * \param y Horizontal position to place the mask object + * + */ +void nema_vg_set_mask_translation(float x, float y); + +/** \brief Set the rendering quality + * + * \param quality level (NEMA_VG_QUALITY_BETTER, NEMA_VG_QUALITY_FASTER, NEMA_VG_QUALITY_MAXIMUM, NEMA_VG_QUALITY_NON_AA) + * + */ +void nema_vg_set_quality(uint8_t quality); + +/** \brief Set the blending mode for VG operations (see nema_blender.h documentation in NemaGFX API Manual) + * Additional Blending Operations: only NEMA_BLOP_SRC_PREMULT is supported + * + * \param blend Blending mode + * \see nema_blending_mode() + * + */ +void nema_vg_set_blend(uint32_t blend); + +/** \brief Get the current error code. Clears the error afterwards. + * + * \return Error code. See NEMA_VG_ERR_* defines for all the possible error codes. + */ +uint32_t nema_vg_get_error(void); + +/** \brief Enable/disable large coordinates handling when rendering a TSVG, a path or a predefined shape + * + * \param enable 0 to disable, 1 to enable + * \param allow_internal_alloc 0 to not allow internal allocation, 1 to allow + * + */ +void nema_vg_handle_large_coords(uint8_t enable, uint8_t allow_internal_alloc); + +/** \brief Bind segment and data buffers to be used for handling large coordinates + * + * \param segs Pointer to segment buffer for large coordinates + * \param segs_size_bytes Segment buffer size in bytes + * \param data Pointer to data buffer for large coordinates + * \param data_size_bytes Data buffer size in bytes + * + */ +uint32_t nema_vg_bind_clip_coords_buf(void *segs, uint32_t segs_size_bytes, void *data, uint32_t data_size_bytes); + +/** \brief Unbind segment and data buffers to be used for handling large coordinates + * + * + */ +void nema_vg_unbind_clip_coords_buf(void); + +#ifdef __cplusplus +} +#endif + +#endif //__NEMA_VG_CONTEXT_H__ diff --git a/libs/nema_gfx/include/nema_vg_font.h b/libs/nema_gfx/include/nema_vg_font.h index 8739a7c03..01e01af50 100644 --- a/libs/nema_gfx/include/nema_vg_font.h +++ b/libs/nema_gfx/include/nema_vg_font.h @@ -1,184 +1,210 @@ -/* TSI 2023.xmo */ -/******************************************************************************* - * Copyright (c) 2023 Think Silicon Single Member PC - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this header file and/or associated documentation files to use, copy, - * modify, merge, publish, distribute, sublicense, and/or sell copies of the - * Materials, and to permit persons to whom the Materials are furnished to do - * so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Materials. - * - * MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS - * NEMAGFX API. THE UNMODIFIED, NORMATIVE VERSIONS OF THINK-SILICON NEMAGFX - * SPECIFICATIONS AND HEADER INFORMATION ARE LOCATED AT: - * https://think-silicon.com/products/software/nemagfx-api - * - * The software is provided 'as is', without warranty of any kind, express or - * implied, including but not limited to the warranties of merchantability, - * fitness for a particular purpose and noninfringement. In no event shall - * Think Silicon Single Member PC be liable for any claim, damages or other - * liability, whether in an action of contract, tort or otherwise, arising - * from, out of or in connection with the software or the use or other dealings - * in the software. - ******************************************************************************/ - -/** - * @file - * @brief Vector font rendering - * - * This file includes the necessary structs and functions that are used for rendering text (strings and single characters), - * using vector fonts. The accompanying vector font converter utility, converts truetype fonts (ttf files) to instances - * of the structs defined here. A use case of this module is included in the respective examples (examples/NemaVG/render_vg_font). - */ - -#ifndef NEMA_VG_FONT_H_ -#define NEMA_VG_FONT_H_ - -#include "nema_matrix3x3.h" -#include "nema_vg.h" -#include "nema_vg_context.h" - -#ifdef __cplusplus -extern "C" { -#endif - -#define NEMA_VG_ALIGNX_LEFT (0x00U) /**< Align horizontally to the left */ -#define NEMA_VG_ALIGNX_RIGHT (0x01U) /**< Align horizontally to the right */ -#define NEMA_VG_ALIGNX_CENTER (0x02U) /**< Align horizontally centered */ -#define NEMA_VG_ALIGNX_JUSTIFY (0x03U) /**< Justify horizontally */ -#define NEMA_VG_ALIGNX_MASK (0x03U) /**< Horizontal alignment mask */ -#define NEMA_VG_ALIGNY_TOP (0x00U) /**< Align vertically to the top */ -#define NEMA_VG_ALIGNY_BOTTOM (0x04U) /**< Align vertically to the bottom */ -#define NEMA_VG_ALIGNY_CENTER (0x08U) /**< Align vertically centered */ -#define NEMA_VG_ALIGNY_JUSTIFY (0x0cU) /**< Justify vertically */ -#define NEMA_VG_ALIGNY_MASK (0x0cU) /**< Vertical alignment mask */ -#define NEMA_VG_TEXT_WRAP (0x10U) /**< Use text wrapping */ - -#define NEMA_VG_CHAR_LTR (0x00U) /**< Character follows left to right orientation */ -#define NEMA_VG_CHAR_RTL (0x01U) /**< Character follows right to left orientation */ -#define NEMA_VG_CHAR_TTB (0x00U) /**< Character follows top to bottom orientation */ -#define NEMA_VG_CHAR_BTT (0x02U) /**< Character follows bottom to top orientation */ - - -/** NemaVG Kerning pair information data struct */ -typedef struct { - const uint32_t left; /**< Neighbor character to the left of the current one (Unicode value) */ - const float x_offset; /**< Kerning offset value (horizontally) */ -} nema_vg_kern_pair_t; - -/** NemaVG data struct of a glyph in vector format*/ -typedef struct { - const uint32_t data_offset; /**< Offset value for the data of the glyph in the respective data array */ - const size_t data_length; /**< Length of the data in the respective data array */ - const uint32_t segment_offset; /**< Offset value for the segments of the glyph in the respective segment array */ - const size_t segment_length; /**< Length of the segments in the respective segment array */ - const float xAdvance; /**< Advance width*/ - const uint32_t kern_offset; /**< Kerning offset of the glyph in the respective kerning array */ - const uint8_t kern_length; /**< Length of the kerning information of the glyph */ - const int16_t bbox_xmin; /**< Minimum x of the glyph's bounding box */ - const int16_t bbox_ymin; /**< Minimum y of the glyph's bounding box */ - const int16_t bbox_xmax; /**< Maximum x of the glyph's bounding box */ - const int16_t bbox_ymax; /**< Maximum y of the glyph's bounding box */ -} nema_vg_glyph_t; - -/** NemaVG vector font range data struct */ -typedef struct { - const uint32_t first; /**< Unicode value of the first value of the range */ - const uint32_t last; /**< Unicode value of the last value of the range */ - const nema_vg_glyph_t *glyphs; /**< Pointer to the array of glyphs */ -} nema_vg_font_range_t; - -/** NemaVG vector font data struct*/ -typedef struct { - const uint32_t version; /**< Font version */ - const nema_vg_font_range_t *ranges; /**< Pointer to the array of ranges */ - const nema_vg_float_t *data; /**< Pointer to the data of the vector font */ - const size_t data_length; /**< Length of the vector font data*/ - const uint8_t *segment; /**< Pointer to the segments of the vector font */ - const size_t segment_length; /**< Length of the vector font segments */ - const float size; /**< Default font size (height) */ - const float xAdvance; /**< Default advance width. If the space character is included in the ranges, then its advance width is set */ - const float ascender; /**< Vertical distance from the baseline to the highest point of the font */ - const float descender; /**< Vertical distance from the baseline to the lowest point of the font */ - const nema_vg_kern_pair_t *kern_pairs; /**< Pointer to the array of the font's kerning pairs */ - uint32_t flags; /**< Bit field, reserved for future use */ -} nema_vg_font_t; - -/** \brief Bind the font to use in future nema_vg_print() calls. Sets error code if font is not supported. - * - * \param font Pointer to the vector font - * - */ -void nema_vg_bind_font(nema_vg_font_t *font); - -/** \brief Sets the size of the bound font. Future nema_vg_print() and nema_vg_print_char() calls will print using the last set size. - * - * \param font Pointer to the vector font - * - */ -void nema_vg_set_font_size(float size); - - -/** \brief Print pre-formatted text - * - * \param paint Pointer to the current paint object (contains the text color) - * \param str Pointer to string - * \param x X coordinate of text-area's top-left corner - * \param y Y coordinate of text-area's top-left corner - * \param w Max allowed width - * \param h Max allowed height - * \param align Alignment and wrapping mode - * \param m Transformation matrix - * - */ -void nema_vg_print(NEMA_VG_PAINT_HANDLE paint, const char *str, float x, float y, float w, float h, uint32_t align, nema_matrix3x3_t m); - - -/** \brief Get the bounding box's width and height of a vector string. Prior to calling this function, "nema_vg_set_font_size" must be called first. - * - * \param str Pointer to string - * \param w Pointer to variable where width should be written - * \param h Pointer to variable where height should be written - * \param max_w Max allowed width - * \param size font size - * \param wrap enable text wraping - * \return Number of carriage returns - * - */ -int nema_vg_string_get_bbox(const char *str, float *w, float *h, float max_w, uint32_t wrap); - - -/** \brief Get the text ascender value in point units. Font size must be set pror to calling this function. - * - * \return Ascender pt - * - */ -int nema_vg_get_ascender_pt(); - -/** \brief Print a single character - * - * \details The position of the character is determined by the 'orientation' argument. - * x and y arguments define a point on the baseline. If the orientation is left to right (LTR), - * the character will be placed to the right of the (x, y) point. Right to left (RTL) will place - * the character to the left of the (x, y) point. Top to bottom (TTB) will have the same effect as - * RTL and bottom to top (BTT) will place the character higher than the (x, y) point by an offset - * equal to the font height. - * - * \param paint Pointer to the current paint object (contains the text color) - * \param ch Character to be printed - * \param x X coordinate of character's top-left or top-right corner (controlled by the 'orientation' parameter) - * \param y Y coordinate of character's top-left or bottom-left corner (controlled by the 'orientation' parameter) - * \param m Transformation matrix - * \param orientation Character orientation (see NEMA_VG_CHAR_* defines) - * \return Character width in pixels - * - */ -float nema_vg_print_char(NEMA_VG_PAINT_HANDLE paint, char ch, float x, float y, nema_matrix3x3_t m, uint32_t orientation); - -#ifdef __cplusplus -} -#endif -#endif // NEMA_VG_FONT_H_ +/* TSI 2023.xmo */ +/******************************************************************************* + * Copyright (c) 2023 Think Silicon Single Member PC + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this header file and/or associated documentation files to use, copy, + * modify, merge, publish, distribute, sublicense, and/or sell copies of the + * Materials, and to permit persons to whom the Materials are furnished to do + * so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Materials. + * + * MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS + * NEMAGFX API. THE UNMODIFIED, NORMATIVE VERSIONS OF THINK-SILICON NEMAGFX + * SPECIFICATIONS AND HEADER INFORMATION ARE LOCATED AT: + * https://think-silicon.com/products/software/nemagfx-api + * + * The software is provided 'as is', without warranty of any kind, express or + * implied, including but not limited to the warranties of merchantability, + * fitness for a particular purpose and noninfringement. In no event shall + * Think Silicon Single Member PC be liable for any claim, damages or other + * liability, whether in an action of contract, tort or otherwise, arising + * from, out of or in connection with the software or the use or other dealings + * in the software. + ******************************************************************************/ + +/** + * @file + * @brief Vector font rendering + * + * This file includes the necessary structs and functions that are used for rendering text (strings and single characters), + * using vector fonts. The accompanying vector font converter utility, converts truetype fonts (ttf files) to instances + * of the structs defined here. A use case of this module is included in the respective examples (examples/NemaVG/render_vg_font). + */ + +#ifndef NEMA_VG_FONT_H_ +#define NEMA_VG_FONT_H_ + +#include "nema_matrix3x3.h" +#include "nema_vg.h" +#include "nema_vg_context.h" +#include "nema_font.h" //vector to raster conversion + +#ifdef __cplusplus +extern "C" { +#endif + +#define NEMA_VG_ALIGNX_LEFT (0x00U) /**< Align horizontally to the left */ +#define NEMA_VG_ALIGNX_RIGHT (0x01U) /**< Align horizontally to the right */ +#define NEMA_VG_ALIGNX_CENTER (0x02U) /**< Align horizontally centered */ +#define NEMA_VG_ALIGNX_JUSTIFY (0x03U) /**< Justify horizontally */ +#define NEMA_VG_ALIGNX_MASK (0x03U) /**< Horizontal alignment mask */ +#define NEMA_VG_ALIGNY_TOP (0x00U) /**< Align vertically to the top */ +#define NEMA_VG_ALIGNY_BOTTOM (0x04U) /**< Align vertically to the bottom */ +#define NEMA_VG_ALIGNY_CENTER (0x08U) /**< Align vertically centered */ +#define NEMA_VG_ALIGNY_JUSTIFY (0x0cU) /**< Justify vertically */ +#define NEMA_VG_ALIGNY_MASK (0x0cU) /**< Vertical alignment mask */ +#define NEMA_VG_TEXT_WRAP (0x10U) /**< Use text wrapping */ + +#define NEMA_VG_CHAR_LTR (0x00U) /**< Character follows left to right orientation */ +#define NEMA_VG_CHAR_RTL (0x01U) /**< Character follows right to left orientation */ +#define NEMA_VG_CHAR_TTB (0x00U) /**< Character follows top to bottom orientation */ +#define NEMA_VG_CHAR_BTT (0x02U) /**< Character follows bottom to top orientation */ + + +/** NemaVG Kerning pair information data struct */ +typedef struct { + const uint32_t left; /**< Neighbor character to the left of the current one (Unicode value) */ + const float x_offset; /**< Kerning offset value (horizontally) */ +} nema_vg_kern_pair_t; + +/** NemaVG data struct of a glyph in vector format*/ +typedef struct { + const uint32_t data_offset; /**< Offset value for the data of the glyph in the respective data array */ + const size_t data_length; /**< Length of the data in the respective data array */ + const uint32_t segment_offset; /**< Offset value for the segments of the glyph in the respective segment array */ + const size_t segment_length; /**< Length of the segments in the respective segment array */ + const float xAdvance; /**< Advance width*/ + const uint32_t kern_offset; /**< Kerning offset of the glyph in the respective kerning array */ + const uint8_t kern_length; /**< Length of the kerning information of the glyph */ + const int16_t bbox_xmin; /**< Minimum x of the glyph's bounding box */ + const int16_t bbox_ymin; /**< Minimum y of the glyph's bounding box */ + const int16_t bbox_xmax; /**< Maximum x of the glyph's bounding box */ + const int16_t bbox_ymax; /**< Maximum y of the glyph's bounding box */ +} nema_vg_glyph_t; + +/** NemaVG vector font range data struct */ +typedef struct { + const uint32_t first; /**< Unicode value of the first value of the range */ + const uint32_t last; /**< Unicode value of the last value of the range */ + const nema_vg_glyph_t *glyphs; /**< Pointer to the array of glyphs */ +} nema_vg_font_range_t; + +/** NemaVG vector font data struct*/ +typedef struct { + const uint32_t version; /**< Font version */ + const nema_vg_font_range_t *ranges; /**< Pointer to the array of ranges */ + const nema_vg_float_t *data; /**< Pointer to the data of the vector font */ + const size_t data_length; /**< Length of the vector font data*/ + const uint8_t *segment; /**< Pointer to the segments of the vector font */ + const size_t segment_length; /**< Length of the vector font segments */ + const float size; /**< Default font size (height) */ + const float xAdvance; /**< Default advance width. If the space character is included in the ranges, then its advance width is set */ + const float ascender; /**< Vertical distance from the baseline to the highest point of the font */ + const float descender; /**< Vertical distance from the baseline to the lowest point of the font */ + const nema_vg_kern_pair_t *kern_pairs; /**< Pointer to the array of the font's kerning pairs */ + uint32_t flags; /**< Bit field, reserved for future use */ +} nema_vg_font_t; + +/** \brief Bind the font to use in future nema_vg_print() calls. Sets error code if font is not supported. + * + * \param font Pointer to the vector font + * + */ +void nema_vg_bind_font(nema_vg_font_t *font); + +/** \brief Sets the size of the bound font. Future nema_vg_print() and nema_vg_print_char() calls will print using the last set size. + * + * \param font Pointer to the vector font + * + */ +void nema_vg_set_font_size(float size); + + +/** \brief Print pre-formatted text + * + * \param paint Pointer to the current paint object (contains the text color) + * \param str Pointer to string + * \param x X coordinate of text-area's top-left corner + * \param y Y coordinate of text-area's top-left corner + * \param w Max allowed width + * \param h Max allowed height + * \param align Alignment and wrapping mode + * \param m Transformation matrix + * + */ +void nema_vg_print(NEMA_VG_PAINT_HANDLE paint, const char *str, float x, float y, float w, float h, uint32_t align, nema_matrix3x3_t m); + + +/** \brief Get the bounding box's width and height of a vector string. Prior to calling this function, "nema_vg_set_font_size" must be called first. + * + * \param str Pointer to string + * \param w Pointer to variable where width should be written + * \param h Pointer to variable where height should be written + * \param max_w Max allowed width + * \param size font size + * \param wrap enable text wraping + * \return Number of carriage returns + * + */ +int nema_vg_string_get_bbox(const char *str, float *w, float *h, float max_w, uint32_t wrap); + + +/** \brief Get the text ascender value in point units. Font size must be set pror to calling this function. + * + * \return Ascender pt + * + */ +int nema_vg_get_ascender_pt(void); + +/** \brief Print a single character + * + * \details The position of the character is determined by the 'orientation' argument. + * x and y arguments define a point on the baseline. If the orientation is left to right (LTR), + * the character will be placed to the right of the (x, y) point. Right to left (RTL) will place + * the character to the left of the (x, y) point. Top to bottom (TTB) will have the same effect as + * RTL and bottom to top (BTT) will place the character higher than the (x, y) point by an offset + * equal to the font height. + * + * \param paint Pointer to the current paint object (contains the text color) + * \param ch Character to be printed + * \param x X coordinate of character's top-left or top-right corner (controlled by the 'orientation' parameter) + * \param y Y coordinate of character's top-left or bottom-left corner (controlled by the 'orientation' parameter) + * \param m Transformation matrix + * \param orientation Character orientation (see NEMA_VG_CHAR_* defines) + * \return Character width in pixels + * + */ +float nema_vg_print_char(NEMA_VG_PAINT_HANDLE paint, char ch, float x, float y, nema_matrix3x3_t m, uint32_t orientation); + +/** \brief Generates a raster font from a vector font + * + * \details Creates an 8-bpp raster version of the bound vector font. Performs dynamic memory allocation in + * the graphics memory (for the font bitmaps) and in the heap (for the data structs accessed by the CPU). + * When the font is no longer needed, function "nema_vg_destroy_raster_font()" can be used to free the allocated + * memory. The font generation may fail when there is not enough memory to generate the font or when the font + * size is greater than the height of the framebuffer. + * + * \param size The size of the font that will be generated + * \param pool Memory pool to store the font bitmaps + * \return Pointer to the data struct of generated raster font. If the font was not generated (due to insufficient memory) it returns NULL. + * + */ +nema_font_t* nema_vg_generate_raster_font(int size, int pool); + +/** \brief Frees the memory that was allocated for a font data struct + * + * \details This function frees memory that was allocated at runtime. Input must be + * a font data struct that was generated by the "nema_vg_generate_raster_font" function. + * + * \param font Pointer to the raster font data struct that will be erased from the memory + * + */ +void nema_vg_destroy_raster_font(nema_font_t *font); + +#ifdef __cplusplus +} +#endif +#endif // NEMA_VG_FONT_H_ diff --git a/libs/nema_gfx/include/nema_vg_paint.h b/libs/nema_gfx/include/nema_vg_paint.h index 76f16bbbe..b6677ebf9 100644 --- a/libs/nema_gfx/include/nema_vg_paint.h +++ b/libs/nema_gfx/include/nema_vg_paint.h @@ -1,241 +1,241 @@ -/* TSI 2023.xmo */ -/******************************************************************************* - * Copyright (c) 2023 Think Silicon Single Member PC - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this header file and/or associated documentation files to use, copy, - * modify, merge, publish, distribute, sublicense, and/or sell copies of the - * Materials, and to permit persons to whom the Materials are furnished to do - * so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Materials. - * - * MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS - * NEMAGFX API. THE UNMODIFIED, NORMATIVE VERSIONS OF THINK-SILICON NEMAGFX - * SPECIFICATIONS AND HEADER INFORMATION ARE LOCATED AT: - * https://think-silicon.com/products/software/nemagfx-api - * - * The software is provided 'as is', without warranty of any kind, express or - * implied, including but not limited to the warranties of merchantability, - * fitness for a particular purpose and noninfringement. In no event shall - * Think Silicon Single Member PC be liable for any claim, damages or other - * liability, whether in an action of contract, tort or otherwise, arising - * from, out of or in connection with the software or the use or other dealings - * in the software. - ******************************************************************************/ - -/** - * @file - * @brief Paint operation related fuctions. Paint is an internal (opaque) struct of NemaVG. - * The functions defined here can be used access its parameters. - * - */ - -#ifndef __NEMA_VG_PAINT_H__ -#define __NEMA_VG_PAINT_H__ - -#include "nema_interpolators.h" -#include "nema_matrix3x3.h" -#include "nema_vg_context.h" -#include "nema_graphics.h" - -#ifdef __cplusplus -extern "C" { -#endif - -#define NEMA_VG_PAINT_COLOR (0x00U) /**< Fill with color */ -#define NEMA_VG_PAINT_FILL (0x00U) /**< Deprecated - Fill with color (same as NEMA_VG_PAINT_COLOR) */ -#define NEMA_VG_PAINT_GRAD_LINEAR (0x01U) /**< Fill with linear gradient */ -#define NEMA_VG_PAINT_TEXTURE (0x02U) /**< Fill with texture */ -#define NEMA_VG_PAINT_GRAD_RADIAL (0x03U) /**< Fill with radial gradient */ -#define NEMA_VG_PAINT_GRAD_CONICAL (0x04U) /**< Fill with conical gradient */ - -#define NEMA_VG_PAINT_MAX_GRAD_STOPS (32) /**< Maximum gradient stops*/ - -/** \brief Create a paint object. - * - * \return Handle to the created paint object - * - */ -NEMA_VG_PAINT_HANDLE nema_vg_paint_create(); - -/** \brief Destroy a paint object. - * - * \param paint Handle to paint object that should be destroyed - * - */ -void nema_vg_paint_destroy(NEMA_VG_PAINT_HANDLE paint); - -/** \brief Clear the parameters of a paint object. - * - * \param paint Pointer (handle) to paint object - * - */ -void nema_vg_paint_clear(NEMA_VG_PAINT_HANDLE paint); - -/** \brief Set the paint type - * - * \param paint Pointer (handle) to paint - * \param type Paint type (NEMA_VG_PAINT_COLOR, NEMA_VG_PAINT_GRAD_LINEAR, NEMA_VG_PAINT_TEXTURE, NEMA_VG_PAINT_GRAD_RADIAL, NEMA_VG_PAINT_GRAD_CONICAL) - * - */ -void nema_vg_paint_set_type(NEMA_VG_PAINT_HANDLE paint, uint8_t type); - - -/** \brief Lock paint transformation to path. If locked, path and paint - * transformation will be in sync. - * - * \param paint Pointer to paint object - * \param locked 1 if locked (default), 0 if not locked - * - */ -void nema_vg_paint_lock_tran_to_path(NEMA_VG_PAINT_HANDLE paint, int locked); - -/** \brief Set linear gradient to a paint object - * - * \param paint Pointer to paint object - * \param grad Pointer to gradient object - * \param x0 Linear gradient start point x coordinate - * \param y0 Linear gradient start point y coordinate - * \param x1 Linear gradient end point x coordinate - * \param y1 Linear gradient end point y coordinate - * \param sampling_mode Sampling mode. NEMA_TEX_BORDER defaults to NEMA_TEX_CLAMP - * - */ -void nema_vg_paint_set_grad_linear(NEMA_VG_PAINT_HANDLE paint, - NEMA_VG_GRAD_HANDLE grad, - float x0, float y0, - float x1, float y1, - nema_tex_mode_t sampling_mode); - - /** \brief Set the paint color - * - * \param paint Pointer (handle) to paint object - * \param rgba Color to be set, in rgba (hex 0xAABBGGRR) format - * - */ -void nema_vg_paint_set_paint_color(NEMA_VG_PAINT_HANDLE paint, uint32_t rgba); - - /** \brief Set the paint opacity - * - * \param paint Pointer (pointer) to paint object - * \param opacity Opacity to be set, 1 is fully opaque and 0 is fully transparent - * - */ -void nema_vg_paint_set_opacity(NEMA_VG_PAINT_HANDLE paint, float opacity); - - /** \brief Set stroke width - * - * \param paint Pointer (handle) to paint object - * \param stroke_width Stroke width to be set - * - */ -void nema_vg_paint_set_stroke_width(NEMA_VG_PAINT_HANDLE paint, float stroke_width); - - /** \brief Set transformation matrix for texture - * - * \param paint Pointer (handle) to paint object - * \param m 3x3 transformation matrix - * - */ -void nema_vg_paint_set_tex_matrix(NEMA_VG_PAINT_HANDLE paint, nema_matrix3x3_t m); - - /** \brief Set texture to paint object - * - * \param paint Pointer (handle) to paint - * \param text Pointer to texture image object - * - */ -void nema_vg_paint_set_tex(NEMA_VG_PAINT_HANDLE paint, nema_img_obj_t* tex); - - /** \brief Set Lut-based (look-up-table) texture to paint object. See Nema Pixpresso User Manual regarding Lut formats - * - * \param paint Pointer (handle) to paint object - * \param lut_palette Pointer to the Palette of the Lut image object - * \param lut_indices Pointer to the indices of the Lut image object - * - */ -void nema_vg_paint_set_lut_tex(NEMA_VG_PAINT_HANDLE paint, nema_img_obj_t* lut_palette, nema_img_obj_t* lut_indices); - -/** \brief Set Conical gradient to paint object - * - * \param paint Pointer (handle) to paint - * \param grad Pointer (handle) to gradient - * \param cx Conical gradient center point x coordinate - * \param cy Conical gradient center point y coordinate - * \param sampling_mode Sampling mode - * - */ -void nema_vg_paint_set_grad_conical(NEMA_VG_PAINT_HANDLE paint, - NEMA_VG_GRAD_HANDLE grad, - float cx, float cy, - nema_tex_mode_t sampling_mode); - -/** \brief Set radial gradient to paint object - * - * \param paint Pointer (handle) to paint - * \param grad Pointer (handle) to gradient - * \param x0 Radial gradient center point x coordinate - * \param y0 Radial gradient center point y coordinate - * \param r Radial gradient radius - * \param sampling_mode Sampling mode - * - */ -void -nema_vg_paint_set_grad_radial(NEMA_VG_PAINT_HANDLE paint, - NEMA_VG_GRAD_HANDLE grad, - float x0, float y0, - float r, - nema_tex_mode_t sampling_mode); - - -/** \brief Set radial gradient to paint object, with different horizontal and vertical radius - * - * \param paint Pointer (handle) to paint - * \param grad Pointer (handle) to gradient - * \param x0 Radial gradient center point x coordinate - * \param y0 Radial gradient center point y coordinate - * \param rx Radial gradient radius on x axis - * \param ry Radial gradient radius on y axis - * \param sampling_mode Sampling mode - * - */ -void -nema_vg_paint_set_grad_radial2(NEMA_VG_PAINT_HANDLE paint, - NEMA_VG_GRAD_HANDLE grad, - float x0, float y0, - float rx, float ry, - nema_tex_mode_t sampling_mode); - -/** \brief Create gradient object - * - * \return Handle (pointer) to the created gradient object - */ -NEMA_VG_GRAD_HANDLE -nema_vg_grad_create(void); - -/** \brief Destroy gradient object - * - * \param grad Pointer to the gradient object - * - */ -void -nema_vg_grad_destroy(NEMA_VG_GRAD_HANDLE grad); - -/** \brief Set gradient parameters to a gradient object - * - * \param grad Pointer (handle) to gradient object - * \param stops_count Number of stop colors - * \param stops Pointer to stop colors coordinates - * \param colors Pointer to stop color values - * - */ -void -nema_vg_grad_set(NEMA_VG_GRAD_HANDLE grad, int stops_count, float *stops, color_var_t* colors); - -#ifdef __cplusplus -} -#endif - -#endif //__NEMA_VG_PAINT_H__ +/* TSI 2023.xmo */ +/******************************************************************************* + * Copyright (c) 2023 Think Silicon Single Member PC + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this header file and/or associated documentation files to use, copy, + * modify, merge, publish, distribute, sublicense, and/or sell copies of the + * Materials, and to permit persons to whom the Materials are furnished to do + * so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Materials. + * + * MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS + * NEMAGFX API. THE UNMODIFIED, NORMATIVE VERSIONS OF THINK-SILICON NEMAGFX + * SPECIFICATIONS AND HEADER INFORMATION ARE LOCATED AT: + * https://think-silicon.com/products/software/nemagfx-api + * + * The software is provided 'as is', without warranty of any kind, express or + * implied, including but not limited to the warranties of merchantability, + * fitness for a particular purpose and noninfringement. In no event shall + * Think Silicon Single Member PC be liable for any claim, damages or other + * liability, whether in an action of contract, tort or otherwise, arising + * from, out of or in connection with the software or the use or other dealings + * in the software. + ******************************************************************************/ + +/** + * @file + * @brief Paint operation related fuctions. Paint is an internal (opaque) struct of NemaVG. + * The functions defined here can be used access its parameters. + * + */ + +#ifndef __NEMA_VG_PAINT_H__ +#define __NEMA_VG_PAINT_H__ + +#include "nema_interpolators.h" +#include "nema_matrix3x3.h" +#include "nema_vg_context.h" +#include "nema_graphics.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#define NEMA_VG_PAINT_COLOR (0x00U) /**< Fill with color */ +#define NEMA_VG_PAINT_FILL (0x00U) /**< Deprecated - Fill with color (same as NEMA_VG_PAINT_COLOR) */ +#define NEMA_VG_PAINT_GRAD_LINEAR (0x01U) /**< Fill with linear gradient */ +#define NEMA_VG_PAINT_TEXTURE (0x02U) /**< Fill with texture */ +#define NEMA_VG_PAINT_GRAD_RADIAL (0x03U) /**< Fill with radial gradient */ +#define NEMA_VG_PAINT_GRAD_CONICAL (0x04U) /**< Fill with conical gradient */ + +#define NEMA_VG_PAINT_MAX_GRAD_STOPS (32) /**< Maximum gradient stops*/ + +/** \brief Create a paint object. + * + * \return Handle to the created paint object + * + */ +NEMA_VG_PAINT_HANDLE nema_vg_paint_create(); + +/** \brief Destroy a paint object. + * + * \param paint Handle to paint object that should be destroyed + * + */ +void nema_vg_paint_destroy(NEMA_VG_PAINT_HANDLE paint); + +/** \brief Clear the parameters of a paint object. + * + * \param paint Pointer (handle) to paint object + * + */ +void nema_vg_paint_clear(NEMA_VG_PAINT_HANDLE paint); + +/** \brief Set the paint type + * + * \param paint Pointer (handle) to paint + * \param type Paint type (NEMA_VG_PAINT_COLOR, NEMA_VG_PAINT_GRAD_LINEAR, NEMA_VG_PAINT_TEXTURE, NEMA_VG_PAINT_GRAD_RADIAL, NEMA_VG_PAINT_GRAD_CONICAL) + * + */ +void nema_vg_paint_set_type(NEMA_VG_PAINT_HANDLE paint, uint8_t type); + + +/** \brief Lock paint transformation to path. If locked, path and paint + * transformation will be in sync. + * + * \param paint Pointer to paint object + * \param locked 1 if locked (default), 0 if not locked + * + */ +void nema_vg_paint_lock_tran_to_path(NEMA_VG_PAINT_HANDLE paint, int locked); + +/** \brief Set linear gradient to a paint object + * + * \param paint Pointer to paint object + * \param grad Pointer to gradient object + * \param x0 Linear gradient start point x coordinate + * \param y0 Linear gradient start point y coordinate + * \param x1 Linear gradient end point x coordinate + * \param y1 Linear gradient end point y coordinate + * \param sampling_mode Sampling mode. NEMA_TEX_BORDER defaults to NEMA_TEX_CLAMP + * + */ +void nema_vg_paint_set_grad_linear(NEMA_VG_PAINT_HANDLE paint, + NEMA_VG_GRAD_HANDLE grad, + float x0, float y0, + float x1, float y1, + nema_tex_mode_t sampling_mode); + + /** \brief Set the paint color + * + * \param paint Pointer (handle) to paint object + * \param rgba Color to be set, in rgba (hex 0xAABBGGRR) format + * + */ +void nema_vg_paint_set_paint_color(NEMA_VG_PAINT_HANDLE paint, uint32_t rgba); + + /** \brief Set the paint opacity + * + * \param paint Pointer (pointer) to paint object + * \param opacity Opacity to be set, 1 is fully opaque and 0 is fully transparent + * + */ +void nema_vg_paint_set_opacity(NEMA_VG_PAINT_HANDLE paint, float opacity); + + /** \brief Set stroke width - DEPRECATED USE nema_vg_stroke_set_width + * + * \param paint Pointer (handle) to paint object + * \param stroke_width Stroke width to be set + * + */ +void nema_vg_paint_set_stroke_width(NEMA_VG_PAINT_HANDLE paint, float stroke_width); + + /** \brief Set transformation matrix for texture + * + * \param paint Pointer (handle) to paint object + * \param m 3x3 transformation matrix + * + */ +void nema_vg_paint_set_tex_matrix(NEMA_VG_PAINT_HANDLE paint, nema_matrix3x3_t m); + + /** \brief Set texture to paint object + * + * \param paint Pointer (handle) to paint + * \param text Pointer to texture image object + * + */ +void nema_vg_paint_set_tex(NEMA_VG_PAINT_HANDLE paint, nema_img_obj_t* tex); + + /** \brief Set Lut-based (look-up-table) texture to paint object. See Nema Pixpresso User Manual regarding Lut formats + * + * \param paint Pointer (handle) to paint object + * \param lut_palette Pointer to the Palette of the Lut image object + * \param lut_indices Pointer to the indices of the Lut image object + * + */ +void nema_vg_paint_set_lut_tex(NEMA_VG_PAINT_HANDLE paint, nema_img_obj_t* lut_palette, nema_img_obj_t* lut_indices); + +/** \brief Set Conical gradient to paint object + * + * \param paint Pointer (handle) to paint + * \param grad Pointer (handle) to gradient + * \param cx Conical gradient center point x coordinate + * \param cy Conical gradient center point y coordinate + * \param sampling_mode Sampling mode + * + */ +void nema_vg_paint_set_grad_conical(NEMA_VG_PAINT_HANDLE paint, + NEMA_VG_GRAD_HANDLE grad, + float cx, float cy, + nema_tex_mode_t sampling_mode); + +/** \brief Set radial gradient to paint object + * + * \param paint Pointer (handle) to paint + * \param grad Pointer (handle) to gradient + * \param x0 Radial gradient center point x coordinate + * \param y0 Radial gradient center point y coordinate + * \param r Radial gradient radius + * \param sampling_mode Sampling mode + * + */ +void +nema_vg_paint_set_grad_radial(NEMA_VG_PAINT_HANDLE paint, + NEMA_VG_GRAD_HANDLE grad, + float x0, float y0, + float r, + nema_tex_mode_t sampling_mode); + + +/** \brief Set radial gradient to paint object, with different horizontal and vertical radius + * + * \param paint Pointer (handle) to paint + * \param grad Pointer (handle) to gradient + * \param x0 Radial gradient center point x coordinate + * \param y0 Radial gradient center point y coordinate + * \param rx Radial gradient radius on x axis + * \param ry Radial gradient radius on y axis + * \param sampling_mode Sampling mode + * + */ +void +nema_vg_paint_set_grad_radial2(NEMA_VG_PAINT_HANDLE paint, + NEMA_VG_GRAD_HANDLE grad, + float x0, float y0, + float rx, float ry, + nema_tex_mode_t sampling_mode); + +/** \brief Create gradient object + * + * \return Handle (pointer) to the created gradient object + */ +NEMA_VG_GRAD_HANDLE +nema_vg_grad_create(void); + +/** \brief Destroy gradient object + * + * \param grad Pointer to the gradient object + * + */ +void +nema_vg_grad_destroy(NEMA_VG_GRAD_HANDLE grad); + +/** \brief Set gradient parameters to a gradient object + * + * \param grad Pointer (handle) to gradient object + * \param stops_count Number of stop colors + * \param stops Pointer to stop colors coordinates + * \param colors Pointer to stop color values + * + */ +void +nema_vg_grad_set(NEMA_VG_GRAD_HANDLE grad, int stops_count, float *stops, color_var_t* colors); + +#ifdef __cplusplus +} +#endif + +#endif //__NEMA_VG_PAINT_H__ diff --git a/libs/nema_gfx/include/nema_vg_path.h b/libs/nema_gfx/include/nema_vg_path.h index 6a799c0a1..4280d4ed8 100644 --- a/libs/nema_gfx/include/nema_vg_path.h +++ b/libs/nema_gfx/include/nema_vg_path.h @@ -1,143 +1,143 @@ -/* TSI 2023.xmo */ -/******************************************************************************* - * Copyright (c) 2023 Think Silicon Single Member PC - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this header file and/or associated documentation files to use, copy, - * modify, merge, publish, distribute, sublicense, and/or sell copies of the - * Materials, and to permit persons to whom the Materials are furnished to do - * so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Materials. - * - * MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS - * NEMAGFX API. THE UNMODIFIED, NORMATIVE VERSIONS OF THINK-SILICON NEMAGFX - * SPECIFICATIONS AND HEADER INFORMATION ARE LOCATED AT: - * https://think-silicon.com/products/software/nemagfx-api - * - * The software is provided 'as is', without warranty of any kind, express or - * implied, including but not limited to the warranties of merchantability, - * fitness for a particular purpose and noninfringement. In no event shall - * Think Silicon Single Member PC be liable for any claim, damages or other - * liability, whether in an action of contract, tort or otherwise, arising - * from, out of or in connection with the software or the use or other dealings - * in the software. - ******************************************************************************/ - -/** - * @file - * @brief Path operation related fuctions - * - */ - -#ifndef __NEMA_VG_PATH_H__ -#define __NEMA_VG_PATH_H__ - -#ifdef __cplusplus -extern "C" { -#endif - - -#include "nema_interpolators.h" -#include "nema_matrix3x3.h" -#include "nema_sys_defs.h" -#include "nema_vg_context.h" - -#define NEMA_VG_PRIM_CLOSE (0x00U) /**< Close segment */ -#define NEMA_VG_PRIM_MOVE (0x01U) /**< Move segment */ -#define NEMA_VG_PRIM_LINE (0x02U) /**< Line segment */ -#define NEMA_VG_PRIM_HLINE (0x03U) /**< Horizontal line segment */ -#define NEMA_VG_PRIM_VLINE (0x04U) /**< Vertical line segment */ -#define NEMA_VG_PRIM_BEZIER_QUAD (0x05U) /**< Quadratic bezier segment */ -#define NEMA_VG_PRIM_BEZIER_CUBIC (0x06U) /**< Cubic bezier segment */ -#define NEMA_VG_PRIM_BEZIER_SQUAD (0x07U) /**< Smooth quadratic bezier segment */ -#define NEMA_VG_PRIM_BEZIER_SCUBIC (0x08U) /**< Smooth cubic bezier segment */ -#define NEMA_VG_PRIM_ARC (0x09U) /**< Arc segment */ -#define NEMA_VG_PRIM_POLYGON (0x0AU) /**< Polygon segment */ -#define NEMA_VG_PRIM_POLYLINE (0x0BU) /**< Polyline segment */ -#define NEMA_VG_PRIM_MASK (0x0FU) /**< Mask for all segments */ -#define NEMA_VG_REL (0x10U) /**< Rel segment*/ -#define NEMA_VG_ARC_LARGE (0x20U) /**< Large arc segment */ -#define NEMA_VG_ARC_CW (0x40U) /**< Clockwise arc segment */ -#define NEMA_VG_PRIM_SCCWARC (NEMA_VG_PRIM_ARC ) /**< Small counterclockwise arc segment */ -#define NEMA_VG_PRIM_SCWARC (NEMA_VG_PRIM_ARC | NEMA_VG_ARC_CW ) /**< Small clockwise arc segment */ -#define NEMA_VG_PRIM_LCCWARC (NEMA_VG_PRIM_ARC | NEMA_VG_ARC_LARGE) /**< Large counterclockwise arc segment */ -#define NEMA_VG_PRIM_LCWARC (NEMA_VG_PRIM_ARC | NEMA_VG_ARC_CW |NEMA_VG_ARC_LARGE) /**< Large clockwise arc segment */ -#define NEMA_VG_PRIM_MOVE_REL (NEMA_VG_PRIM_MOVE | NEMA_VG_REL) /**< Relative move segment */ -#define NEMA_VG_PRIM_LINE_REL (NEMA_VG_PRIM_LINE | NEMA_VG_REL) /**< Relative line segment */ -#define NEMA_VG_PRIM_HLINE_REL (NEMA_VG_PRIM_HLINE | NEMA_VG_REL) /**< Relative horizontal line segment */ -#define NEMA_VG_PRIM_VLINE_REL (NEMA_VG_PRIM_VLINE | NEMA_VG_REL) /**< Relative vertical line segment */ -#define NEMA_VG_PRIM_BEZIER_QUAD_REL (NEMA_VG_PRIM_BEZIER_QUAD | NEMA_VG_REL) /**< Relative quadratic bezier segment */ -#define NEMA_VG_PRIM_BEZIER_CUBIC_REL (NEMA_VG_PRIM_BEZIER_CUBIC | NEMA_VG_REL) /**< Relative cubic bezier segment */ -#define NEMA_VG_PRIM_BEZIER_SQUAD_REL (NEMA_VG_PRIM_BEZIER_SQUAD | NEMA_VG_REL) /**< Relative smooth quadratic bezier segment */ -#define NEMA_VG_PRIM_BEZIER_SCUBIC_REL (NEMA_VG_PRIM_BEZIER_SCUBIC | NEMA_VG_REL) /**< Relative smooth cubic bezier segment */ -#define NEMA_VG_PRIM_SCCWARC_REL (NEMA_VG_PRIM_SCCWARC | NEMA_VG_REL) /**< Relative small counterclockwise arc segment */ -#define NEMA_VG_PRIM_SCWARC_REL (NEMA_VG_PRIM_SCWARC | NEMA_VG_REL) /**< Relative small clockwise arc segment */ -#define NEMA_VG_PRIM_LCCWARC_REL (NEMA_VG_PRIM_LCCWARC | NEMA_VG_REL) /**< Relative lareg counterclockwise arc segment */ -#define NEMA_VG_PRIM_LCWARC_REL (NEMA_VG_PRIM_LCWARC | NEMA_VG_REL) /**< Relative lareg rclockwise arc segment */ -#define NEMA_VG_PRIM_POLYGON_REL (NEMA_VG_PRIM_POLYGON | NEMA_VG_REL) /**< Relative polygon segment */ -#define NEMA_VG_PRIM_POLYLINE_REL (NEMA_VG_PRIM_POLYLINE | NEMA_VG_REL) /**< Relative polyline segment */ - - -/** \brief Create path - * - * \return Created path - * - */ -NEMA_VG_PATH_HANDLE nema_vg_path_create(); - -/** \brief Destroy path - * - * \param path Pointer to Path - * \return void - * - */ -void nema_vg_path_destroy(NEMA_VG_PATH_HANDLE path); - -/** \brief Clear path - * - * \param path Pointer to Path - * \return void - * - */ -void nema_vg_path_clear(NEMA_VG_PATH_HANDLE path); - -/** \brief Set path shape (vertex buffer) - * - * \param path Pointer to path - * \param seg_size Number of segments to be added - * \param seg Pointer to segments - * \param data_size Number of data to be added - * \param data Pointer to coordinates - * - */ -void nema_vg_path_set_shape(NEMA_VG_PATH_HANDLE path, const size_t seg_size , const uint8_t* seg, const size_t data_size, const nema_vg_float_t* data); - -/** \brief Set path shape (vertex buffer) and bounding box. Same functionality as nema_vg_path_set_shape() - * but bbox is given by user (reduces CPU utilization) - * - * \param path Pointer to path - * \param seg_size Number of segments to be added - * \param seg Pointer to segments - * \param data_size Number of data to be added - * \param data Pointer to coordinates - * \param bbox Pointer to shape bound box coordinates {min_x, min_y, max_x, max_y} - * - */ -void -nema_vg_path_set_shape_and_bbox(NEMA_VG_PATH_HANDLE path, const size_t seg_size, const uint8_t* seg, const size_t data_size, const nema_vg_float_t* data, const nema_vg_float_t *bbox); - -/** \brief Set affine transformation matrix - * - * \param path Pointer to path - * \param m 3x3 affine transformation matrix - * - */ -void nema_vg_path_set_matrix(NEMA_VG_PATH_HANDLE path, nema_matrix3x3_t m); - -#ifdef __cplusplus -} -#endif - -#endif //__NEMA_VG_PATH_H__ +/* TSI 2023.xmo */ +/******************************************************************************* + * Copyright (c) 2023 Think Silicon Single Member PC + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this header file and/or associated documentation files to use, copy, + * modify, merge, publish, distribute, sublicense, and/or sell copies of the + * Materials, and to permit persons to whom the Materials are furnished to do + * so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Materials. + * + * MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS + * NEMAGFX API. THE UNMODIFIED, NORMATIVE VERSIONS OF THINK-SILICON NEMAGFX + * SPECIFICATIONS AND HEADER INFORMATION ARE LOCATED AT: + * https://think-silicon.com/products/software/nemagfx-api + * + * The software is provided 'as is', without warranty of any kind, express or + * implied, including but not limited to the warranties of merchantability, + * fitness for a particular purpose and noninfringement. In no event shall + * Think Silicon Single Member PC be liable for any claim, damages or other + * liability, whether in an action of contract, tort or otherwise, arising + * from, out of or in connection with the software or the use or other dealings + * in the software. + ******************************************************************************/ + +/** + * @file + * @brief Path operation related fuctions + * + */ + +#ifndef __NEMA_VG_PATH_H__ +#define __NEMA_VG_PATH_H__ + +#ifdef __cplusplus +extern "C" { +#endif + + +#include "nema_interpolators.h" +#include "nema_matrix3x3.h" +#include "nema_sys_defs.h" +#include "nema_vg_context.h" + +#define NEMA_VG_PRIM_CLOSE (0x00U) /**< Close segment */ +#define NEMA_VG_PRIM_MOVE (0x01U) /**< Move segment */ +#define NEMA_VG_PRIM_LINE (0x02U) /**< Line segment */ +#define NEMA_VG_PRIM_HLINE (0x03U) /**< Horizontal line segment */ +#define NEMA_VG_PRIM_VLINE (0x04U) /**< Vertical line segment */ +#define NEMA_VG_PRIM_BEZIER_QUAD (0x05U) /**< Quadratic bezier segment */ +#define NEMA_VG_PRIM_BEZIER_CUBIC (0x06U) /**< Cubic bezier segment */ +#define NEMA_VG_PRIM_BEZIER_SQUAD (0x07U) /**< Smooth quadratic bezier segment */ +#define NEMA_VG_PRIM_BEZIER_SCUBIC (0x08U) /**< Smooth cubic bezier segment */ +#define NEMA_VG_PRIM_ARC (0x09U) /**< Arc segment */ +#define NEMA_VG_PRIM_POLYGON (0x0AU) /**< Polygon segment */ +#define NEMA_VG_PRIM_POLYLINE (0x0BU) /**< Polyline segment */ +#define NEMA_VG_PRIM_MASK (0x0FU) /**< Mask for all segments */ +#define NEMA_VG_REL (0x10U) /**< Rel segment*/ +#define NEMA_VG_ARC_LARGE (0x20U) /**< Large arc segment */ +#define NEMA_VG_ARC_CW (0x40U) /**< Clockwise arc segment */ +#define NEMA_VG_PRIM_SCCWARC (NEMA_VG_PRIM_ARC ) /**< Small counterclockwise arc segment */ +#define NEMA_VG_PRIM_SCWARC (NEMA_VG_PRIM_ARC | NEMA_VG_ARC_CW ) /**< Small clockwise arc segment */ +#define NEMA_VG_PRIM_LCCWARC (NEMA_VG_PRIM_ARC | NEMA_VG_ARC_LARGE) /**< Large counterclockwise arc segment */ +#define NEMA_VG_PRIM_LCWARC (NEMA_VG_PRIM_ARC | NEMA_VG_ARC_CW |NEMA_VG_ARC_LARGE) /**< Large clockwise arc segment */ +#define NEMA_VG_PRIM_MOVE_REL (NEMA_VG_PRIM_MOVE | NEMA_VG_REL) /**< Relative move segment */ +#define NEMA_VG_PRIM_LINE_REL (NEMA_VG_PRIM_LINE | NEMA_VG_REL) /**< Relative line segment */ +#define NEMA_VG_PRIM_HLINE_REL (NEMA_VG_PRIM_HLINE | NEMA_VG_REL) /**< Relative horizontal line segment */ +#define NEMA_VG_PRIM_VLINE_REL (NEMA_VG_PRIM_VLINE | NEMA_VG_REL) /**< Relative vertical line segment */ +#define NEMA_VG_PRIM_BEZIER_QUAD_REL (NEMA_VG_PRIM_BEZIER_QUAD | NEMA_VG_REL) /**< Relative quadratic bezier segment */ +#define NEMA_VG_PRIM_BEZIER_CUBIC_REL (NEMA_VG_PRIM_BEZIER_CUBIC | NEMA_VG_REL) /**< Relative cubic bezier segment */ +#define NEMA_VG_PRIM_BEZIER_SQUAD_REL (NEMA_VG_PRIM_BEZIER_SQUAD | NEMA_VG_REL) /**< Relative smooth quadratic bezier segment */ +#define NEMA_VG_PRIM_BEZIER_SCUBIC_REL (NEMA_VG_PRIM_BEZIER_SCUBIC | NEMA_VG_REL) /**< Relative smooth cubic bezier segment */ +#define NEMA_VG_PRIM_SCCWARC_REL (NEMA_VG_PRIM_SCCWARC | NEMA_VG_REL) /**< Relative small counterclockwise arc segment */ +#define NEMA_VG_PRIM_SCWARC_REL (NEMA_VG_PRIM_SCWARC | NEMA_VG_REL) /**< Relative small clockwise arc segment */ +#define NEMA_VG_PRIM_LCCWARC_REL (NEMA_VG_PRIM_LCCWARC | NEMA_VG_REL) /**< Relative lareg counterclockwise arc segment */ +#define NEMA_VG_PRIM_LCWARC_REL (NEMA_VG_PRIM_LCWARC | NEMA_VG_REL) /**< Relative lareg rclockwise arc segment */ +#define NEMA_VG_PRIM_POLYGON_REL (NEMA_VG_PRIM_POLYGON | NEMA_VG_REL) /**< Relative polygon segment */ +#define NEMA_VG_PRIM_POLYLINE_REL (NEMA_VG_PRIM_POLYLINE | NEMA_VG_REL) /**< Relative polyline segment */ + + +/** \brief Create path + * + * \return Created path + * + */ +NEMA_VG_PATH_HANDLE nema_vg_path_create(); + +/** \brief Destroy path + * + * \param path Pointer to Path + * \return void + * + */ +void nema_vg_path_destroy(NEMA_VG_PATH_HANDLE path); + +/** \brief Clear path + * + * \param path Pointer to Path + * \return void + * + */ +void nema_vg_path_clear(NEMA_VG_PATH_HANDLE path); + +/** \brief Set path shape (vertex buffer) + * + * \param path Pointer to path + * \param seg_size Number of segments to be added + * \param seg Pointer to segments + * \param data_size Number of data to be added + * \param data Pointer to coordinates + * + */ +void nema_vg_path_set_shape(NEMA_VG_PATH_HANDLE path, const size_t seg_size , const uint8_t* seg, const size_t data_size, const nema_vg_float_t* data); + +/** \brief Set path shape (vertex buffer) and bounding box. Same functionality as nema_vg_path_set_shape() + * but bbox is given by user (reduces CPU utilization) + * + * \param path Pointer to path + * \param seg_size Number of segments to be added + * \param seg Pointer to segments + * \param data_size Number of data to be added + * \param data Pointer to coordinates + * \param bbox Pointer to shape bound box coordinates {min_x, min_y, max_x, max_y} + * + */ +void +nema_vg_path_set_shape_and_bbox(NEMA_VG_PATH_HANDLE path, const size_t seg_size, const uint8_t* seg, const size_t data_size, const nema_vg_float_t* data, const nema_vg_float_t *bbox); + +/** \brief Set affine transformation matrix + * + * \param path Pointer to path + * \param m 3x3 affine transformation matrix + * + */ +void nema_vg_path_set_matrix(NEMA_VG_PATH_HANDLE path, nema_matrix3x3_t m); + +#ifdef __cplusplus +} +#endif + +#endif //__NEMA_VG_PATH_H__ diff --git a/libs/nema_gfx/include/nema_vg_tsvg.h b/libs/nema_gfx/include/nema_vg_tsvg.h index ca9b4ac35..7c6eb9585 100644 --- a/libs/nema_gfx/include/nema_vg_tsvg.h +++ b/libs/nema_gfx/include/nema_vg_tsvg.h @@ -1,56 +1,56 @@ -/* TSI 2023.xmo */ -/******************************************************************************* - * Copyright (c) 2023 Think Silicon Single Member PC - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this header file and/or associated documentation files to use, copy, - * modify, merge, publish, distribute, sublicense, and/or sell copies of the - * Materials, and to permit persons to whom the Materials are furnished to do - * so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Materials. - * - * MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS - * NEMAGFX API. THE UNMODIFIED, NORMATIVE VERSIONS OF THINK-SILICON NEMAGFX - * SPECIFICATIONS AND HEADER INFORMATION ARE LOCATED AT: - * https://think-silicon.com/products/software/nemagfx-api - * - * The software is provided 'as is', without warranty of any kind, express or - * implied, including but not limited to the warranties of merchantability, - * fitness for a particular purpose and noninfringement. In no event shall - * Think Silicon Single Member PC be liable for any claim, damages or other - * liability, whether in an action of contract, tort or otherwise, arising - * from, out of or in connection with the software or the use or other dealings - * in the software. - ******************************************************************************/ - -/** - * @file - * @brief API for rendering .tsvg images - * - */ - -#ifndef NEMA_VG_TSVG_H_ -#define NEMA_VG_TSVG_H_ - -#include "nema_vg_context.h" - -/** \brief Draws a TSVG buffer - * - * \param buffer Pointer to the TSVG buffer that will be drawn - * - */ -void -nema_vg_draw_tsvg(const void* buffer); - -/** \brief Get the width and height of tsvg - * - * \param buffer Tsvg buffer - * \param width return Tsvg width - * \param height return Tsvg height - * - */ -void nema_vg_get_tsvg_resolution(const void *buffer, uint32_t *width, uint32_t *height); - -#endif // NEMA_VG_TSVG_H_ +/* TSI 2023.xmo */ +/******************************************************************************* + * Copyright (c) 2023 Think Silicon Single Member PC + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this header file and/or associated documentation files to use, copy, + * modify, merge, publish, distribute, sublicense, and/or sell copies of the + * Materials, and to permit persons to whom the Materials are furnished to do + * so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Materials. + * + * MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS + * NEMAGFX API. THE UNMODIFIED, NORMATIVE VERSIONS OF THINK-SILICON NEMAGFX + * SPECIFICATIONS AND HEADER INFORMATION ARE LOCATED AT: + * https://think-silicon.com/products/software/nemagfx-api + * + * The software is provided 'as is', without warranty of any kind, express or + * implied, including but not limited to the warranties of merchantability, + * fitness for a particular purpose and noninfringement. In no event shall + * Think Silicon Single Member PC be liable for any claim, damages or other + * liability, whether in an action of contract, tort or otherwise, arising + * from, out of or in connection with the software or the use or other dealings + * in the software. + ******************************************************************************/ + +/** + * @file + * @brief API for rendering .tsvg images + * + */ + +#ifndef NEMA_VG_TSVG_H_ +#define NEMA_VG_TSVG_H_ + +#include "nema_vg_context.h" + +/** \brief Draws a TSVG buffer + * + * \param buffer Pointer to the TSVG buffer that will be drawn + * + */ +void +nema_vg_draw_tsvg(const void* buffer); + +/** \brief Get the width and height of tsvg + * + * \param buffer Tsvg buffer + * \param width return Tsvg width + * \param height return Tsvg height + * + */ +void nema_vg_get_tsvg_resolution(const void *buffer, uint32_t *width, uint32_t *height); + +#endif // NEMA_VG_TSVG_H_ diff --git a/libs/nema_gfx/include/nema_vg_version.h b/libs/nema_gfx/include/nema_vg_version.h index f14c42648..7e7581285 100644 --- a/libs/nema_gfx/include/nema_vg_version.h +++ b/libs/nema_gfx/include/nema_vg_version.h @@ -1,55 +1,55 @@ -/* TSI 2023.xmo */ -/******************************************************************************* - * Copyright (c) 2023 Think Silicon Single Member PC - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this header file and/or associated documentation files to use, copy, - * modify, merge, publish, distribute, sublicense, and/or sell copies of the - * Materials, and to permit persons to whom the Materials are furnished to do - * so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Materials. - * - * MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS - * NEMAGFX API. THE UNMODIFIED, NORMATIVE VERSIONS OF THINK-SILICON NEMAGFX - * SPECIFICATIONS AND HEADER INFORMATION ARE LOCATED AT: - * https://think-silicon.com/products/software/nemagfx-api - * - * The software is provided 'as is', without warranty of any kind, express or - * implied, including but not limited to the warranties of merchantability, - * fitness for a particular purpose and noninfringement. In no event shall - * Think Silicon Single Member PC be liable for any claim, damages or other - * liability, whether in an action of contract, tort or otherwise, arising - * from, out of or in connection with the software or the use or other dealings - * in the software. - ******************************************************************************/ - -/** - * @file - * @brief Contains version numbers for NemaVG API and the currently supported font version. - * - */ - -#ifndef NEMA_VG_VERSION_H__ -#define NEMA_VG_VERSION_H__ - -#ifdef __cplusplus -extern "C" { -#endif - -#define NEMA_VG_MAJOR_VERSION 0x01U /**< NemaVG API version, major number */ -#define NEMA_VG_MINOR_VERSION 0x01U /**< NemaVG API version, minor number */ -#define NEMA_VG_REVISION_VERSION 0x05U /**< NemaVG API version, revision number */ -#define NEMA_VG_IMP_VERSION 0x00231000U /**< NemaVG API version, implementation in format 0x00YYMM00 (Y: year, M: month) */ - -#define NEMA_VG_API_VERSION ((NEMA_VG_MAJOR_VERSION << 16) + (NEMA_VG_MINOR_VERSION << 8) + (NEMA_VG_REVISION_VERSION)) /**< NemaVG API version in format 0x00MMmmrr (M:major, m:minor, r:revision if any) */ - -#define NEMA_VG_FONT_VERSION 0x01U /**< Current font version */ - - -#ifdef __cplusplus -} -#endif - -#endif //NEMA_VG_VERSION_H__ +/* TSI 2023.xmo */ +/******************************************************************************* + * Copyright (c) 2023 Think Silicon Single Member PC + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this header file and/or associated documentation files to use, copy, + * modify, merge, publish, distribute, sublicense, and/or sell copies of the + * Materials, and to permit persons to whom the Materials are furnished to do + * so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Materials. + * + * MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS + * NEMAGFX API. THE UNMODIFIED, NORMATIVE VERSIONS OF THINK-SILICON NEMAGFX + * SPECIFICATIONS AND HEADER INFORMATION ARE LOCATED AT: + * https://think-silicon.com/products/software/nemagfx-api + * + * The software is provided 'as is', without warranty of any kind, express or + * implied, including but not limited to the warranties of merchantability, + * fitness for a particular purpose and noninfringement. In no event shall + * Think Silicon Single Member PC be liable for any claim, damages or other + * liability, whether in an action of contract, tort or otherwise, arising + * from, out of or in connection with the software or the use or other dealings + * in the software. + ******************************************************************************/ + +/** + * @file + * @brief Contains version numbers for NemaVG API and the currently supported font version. + * + */ + +#ifndef NEMA_VG_VERSION_H__ +#define NEMA_VG_VERSION_H__ + +#ifdef __cplusplus +extern "C" { +#endif + +#define NEMA_VG_MAJOR_VERSION 0x01U /**< NemaVG API version, major number */ +#define NEMA_VG_MINOR_VERSION 0x01U /**< NemaVG API version, minor number */ +#define NEMA_VG_REVISION_VERSION 0x07U /**< NemaVG API version, revision number */ +#define NEMA_VG_IMP_VERSION 0x00240600U /**< NemaVG API version, implementation in format 0x00YYMM00 (Y: year, M: month) */ + +#define NEMA_VG_API_VERSION ((NEMA_VG_MAJOR_VERSION << 16) + (NEMA_VG_MINOR_VERSION << 8) + (NEMA_VG_REVISION_VERSION)) /**< NemaVG API version in format 0x00MMmmrr (M:major, m:minor, r:revision if any) */ + +#define NEMA_VG_FONT_VERSION 0x01U /**< Current font version */ + + +#ifdef __cplusplus +} +#endif + +#endif //NEMA_VG_VERSION_H__ diff --git a/libs/nema_gfx/include/tsi_malloc.h b/libs/nema_gfx/include/tsi_malloc.h index 902b765d9..cf39538fe 100644 --- a/libs/nema_gfx/include/tsi_malloc.h +++ b/libs/nema_gfx/include/tsi_malloc.h @@ -1,64 +1,64 @@ -/* TSI 2023.xmo */ -/******************************************************************************* - * Copyright (c) 2023 Think Silicon Single Member PC - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this header file and/or associated documentation files to use, copy, - * modify, merge, publish, distribute, sublicense, and/or sell copies of the - * Materials, and to permit persons to whom the Materials are furnished to do - * so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Materials. - * - * MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS - * NEMAGFX API. THE UNMODIFIED, NORMATIVE VERSIONS OF THINK-SILICON NEMAGFX - * SPECIFICATIONS AND HEADER INFORMATION ARE LOCATED AT: - * https://think-silicon.com/products/software/nemagfx-api - * - * The software is provided 'as is', without warranty of any kind, express or - * implied, including but not limited to the warranties of merchantability, - * fitness for a particular purpose and noninfringement. In no event shall - * Think Silicon Single Member PC be liable for any claim, damages or other - * liability, whether in an action of contract, tort or otherwise, arising - * from, out of or in connection with the software or the use or other dealings - * in the software. - ******************************************************************************/ - -#ifndef TSI_MALLOC_H__ -#define TSI_MALLOC_H__ - -#ifdef __cplusplus -extern "C" { -#endif - - -#define tsi_malloc_init(base_virt, base_phys, size, reset) \ - tsi_malloc_init_pool(0, base_virt, base_phys, size, reset) - -#define tsi_malloc(size) tsi_malloc_pool(0, size) - -int tsi_malloc_init_pool( int pool, - void *base_virt, - uintptr_t base_phys, - int size, - int reset); - -int tsi_malloc_init_pool_aligned( int pool, - void *base_virt, - uintptr_t base_phys, - int size, - int reset, - int alignment); /*alignment must be multiple of 4, otherwise it will be overwritten internaly to be multiple of 4*/ - -void *tsi_malloc_pool(int pool, int size); -void tsi_free(void *ptr); -uintptr_t tsi_virt2phys(void *addr); -void *tsi_phys2virt(uintptr_t addr); - - -#ifdef __cplusplus -} -#endif - -#endif +/* TSI 2023.xmo */ +/******************************************************************************* + * Copyright (c) 2023 Think Silicon Single Member PC + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this header file and/or associated documentation files to use, copy, + * modify, merge, publish, distribute, sublicense, and/or sell copies of the + * Materials, and to permit persons to whom the Materials are furnished to do + * so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Materials. + * + * MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS + * NEMAGFX API. THE UNMODIFIED, NORMATIVE VERSIONS OF THINK-SILICON NEMAGFX + * SPECIFICATIONS AND HEADER INFORMATION ARE LOCATED AT: + * https://think-silicon.com/products/software/nemagfx-api + * + * The software is provided 'as is', without warranty of any kind, express or + * implied, including but not limited to the warranties of merchantability, + * fitness for a particular purpose and noninfringement. In no event shall + * Think Silicon Single Member PC be liable for any claim, damages or other + * liability, whether in an action of contract, tort or otherwise, arising + * from, out of or in connection with the software or the use or other dealings + * in the software. + ******************************************************************************/ + +#ifndef TSI_MALLOC_H__ +#define TSI_MALLOC_H__ + +#ifdef __cplusplus +extern "C" { +#endif + + +#define tsi_malloc_init(base_virt, base_phys, size, reset) \ + tsi_malloc_init_pool(0, base_virt, base_phys, size, reset) + +#define tsi_malloc(size) tsi_malloc_pool(0, size) + +int tsi_malloc_init_pool( int pool, + void *base_virt, + uintptr_t base_phys, + int size, + int reset); + +int tsi_malloc_init_pool_aligned( int pool, + void *base_virt, + uintptr_t base_phys, + int size, + int reset, + int alignment); /*alignment must be multiple of 4, otherwise it will be overwritten internaly to be multiple of 4*/ + +void *tsi_malloc_pool(int pool, int size); +void tsi_free(void *ptr); +uintptr_t tsi_virt2phys(void *addr); +void *tsi_phys2virt(uintptr_t addr); + + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/libs/nema_gfx/lib/core/cortex_m33/gcc/libnemagfx-float-abi-hard-wc16.a b/libs/nema_gfx/lib/core/cortex_m33/gcc/libnemagfx-float-abi-hard-wc16.a index 3408727b5dcaf3aec99c3511b78b9a45f42de7c9..7d825db95b131ec069f26206ec9223ad2e8621da 100644 GIT binary patch literal 311508 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%0DjhOK!V$a#7x8;>C7?ds@P#A#y#jzw@B=z{ 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
  • 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

    n@GJcYXPs6g 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%0Au`k-FMblRC~5ZqM*UWUlel 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 DiNAQ- literal 304526 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 W2<{{qhZNr8xnlwcE>lMMD)tB7l~F7J diff --git a/libs/nema_gfx/lib/core/cortex_m33/gcc/libnemagfx-wc16.a b/libs/nema_gfx/lib/core/cortex_m33/gcc/libnemagfx-wc16.a index 65557188b88b68d89c85dbc547283fc640786285..4399b3f3a2a11f8b8799651e0bd1cf8832de769c 100644 GIT binary patch literal 313316 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

    |36VaP5a}5* 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 F{wL&J_Cx>x literal 306054 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%0DJKl+QY(_gihjb2<*0dfgmoNdoEMWo4 zSsPNMRkneXRlA>c`rM^-6&e93O@%T~KMu_x?HGre9*6#56}05>ODU-NU-8Gd4=Mehgng2Li8MU;~Scd3gVXY5O`Na(n zPr2^Kl`B`?c=E)gxnHIom^p4)R6yPS&=*LMo-bLZYYbl=={ z-;17$7RIgiCTod7pw*P0^()T}>6~bZ``L?$TJ4 z!B|}xB=a(mImuSZcA83Tlu{OnYFUKJd;HQc#6CLcjQsE2`t zpk8A2X*PPBU}=p(`P{CS&q_eIsSxX}_db4UIa0h_m*Sh%6i1vtcWH@|>zmYE z!#d&q0dUE!-ZP&@Rbq5B8nrM-g}wvmIu%+0Xcl6ewVHZ1=p3|jJnCRNWL+S6t0~4z zV1J6-Oye;lrq#&ZCW=+te^ZT2K-dYo`WvU}@N>S$FC`(iBwcKy)!5zx$4GFD)RjOy zIONu{9UQUXh}Frkt1=GxuBGEbueG|a)p6L5>rj^y-$q%;J*c@^>5Xi#;R%iNvwK|J zKBo1ISNaSwKKh??=9Wc$zTr*uZ*TExn@JJmzN(Yb8!AUweg+HG! z7tym69epgPuTbe@b@cI^{-#PFucJ@k^cyJrejq87=mu3PDeErY(qFIHY>wo4K zHnVA5|1-d7#Wv{rp9zM^IgO(=K&_)SKdqxRI<2EMHLWu-{hAZass)`%eRD&`nbehL z0gDwp0Vf3mTMgaHKs~aZ&hGTrtoWF<+R&;h`*9crbijn7l8%A?T(6_g zQ|L73OD7=Ss=!_jk7TPAcoK(4v5mU$TNFB$N)UbwKih~{9_4Tn`-wuQx$zk2*S{!m z35UnBcNDmt!{gam1zy163G9*rlTD4mrlh|rFqLZz^eYAx4-|jjAO`w1R)J}+Y7BBs z??)4z;)#KN-K49@t9cwUp8D$-dai6d#K-aezm|r*$YB z{FREIMtHaU&b3jCY`i|`_x;QuFu??1H8 z89bi}^{0G$NONctko@b0(3MauKAA=e6p93E^*~r?=0LpVT&Y4ukX%x~P%IZb5L(gs ze%$zSrQ8}qDRQc>6~TZ(?peoEFNX;|(F%n_jgGQ5Ab}@%K#GW|A5k>S{sK8=V2Ro$ z+CQMuSO+EyEKm+|jVxF2@97PgX_<5lnM$y0NG+w$9}Xy#QwEl)1R9_|>A0w}ifa@4 zsiP7=RE)M+{2h**;-fn1!@_WpBb%Xh=+d}L!awne^)Edi(a6y#4$F4m$VYv?K3+3$ z!ioF2Kxp~s`HRLL!U?|HfY9=hZKH9AaDuNA2rXX;;DPwI==kaYC*l%L$ZG^bEAJ7& z1M$76<2wY{flD|c?=2v-@@VXmDwyC4zK?Z$eSpcn3n%zK2SO{4#x7)+g%f;(fYg4?e z@-j$(;zatM)5)8okw;HzLY^4oiuOAR4Rj!Vep4qeUn7s6^n|=W>e81Fd0r)LJ*<&8R^g-eA`mzo3$i@gK^1DqZZ!hFIz(n;+HeTfS zX*T!(d7}MJ0JD(ynoizc$Q#JM9M{QvQzMUN3WU6mb@Kd>_ku{A z!bji-I(a8F;NuU?^tn~OgXUZ8q4^Jd7tou?Q)QXXy)^XKBbli# zA#qYk7ILv2EhWc9Y+4JU=nxNI32SM*qZw_Ka6$j(K%)i-s<)uQPXRlG5xe!Gj_4SizqLx)b|jjNNL)|jw{ zU*HWL=ATkuk8k8L|5&`o7g-Xvrzw!+h-loCYb-f|Z(HFDRJnTstSD?ZrZoJ6>ze}D zYBV{#f$cuoX~s7Qjad=hrpWKN+d%!w%f^qEj!7%zcUdG?%SQpb{UKLDi`BI)*LbSH zwKsS2hf&iW!dK3|=wQu_`7eSaHN(*GP>cLsuu2NyXh4V|E_`qB)G~y)`NOEp1|A|k zZ0Ko2%IN$Nfv}>8?l9A+mmHJtM$E+$^Y6hos$Ta!j$b~Af>d)~%>^;!JqO>OB* z+bw>->3n(-{D8$j8Sm1jm^D(^ zYZ6BUOhv{9Hd$&nHajMt3`BV;-&;FI<89C=@5J*Bu5!d|j(wp$@%wDjv+d0;!=9T1 zSvY^{4a3gdxOT&wWnXXWGc?;IQ}>(UI628RL~6{nw*NE#s^V82JAKBKT|QIFk9@oS zY|d!R-|mysl-@!qGV&BHI%CE=Z03ewYL0c7n^}|bifOwA6bs(H%$s+tHBSm}2x|^+ zvNSf}8*8zWwJEj)wTd?n!TEUvph*6vq8x*5EKA?oVQyl3P_7wzcY~R*cnJ-6ZhG$iaG*UdVXxaAs_2**U_3=nBQ(1(lE>)WeM|}Oo5(@JC0#x z|5(qW=VBXj{LgNi*p$8}IX`AMLQV|FH`Z+VFZFINjN47A#9NC-yisOg{vU0-e*x_! zk#$r4uP+$pj~zVHh4-3DYb#5(A=W0GS{LY9{anPZp}Q%??|4~Kdh?J*oN|S? zgAFO$bFHnB(qOzxdo|0xYtSyd3Hd~L!?{aUcvmsMBcd56qxe7ehBpstYRF~&fA{`x z>^s65|8;SIy_cWe64C4chiB`)Kc{-w)V9kTwnj8(`Mt*2_PYvB1(^4PfIVlw>&_OO zj_2B$Yxe2Sx5%xnuOmUCP;Yw;DTDSzHjc=Tlm_ie2pH`4oe{g1<+BM@?U4;^ z;xF1MUMdxeyE!4f=~Tjyrf5)@ziNxfOH>0(xp9%L;k^LE+jV=z@NQ~YBLzdqasjVag?vB$tI74xs%V(9J>_@Wgh8wESU{6DO>atjyDE!@zpR8QOLsm$u@PX-*` zn#2UOdf4~LoBQHlv^86rtb1TJ;?tW)NYTxEpqpQK^X7RkU-pVz#x(6g{wSv+kF8%W ze39WD{wV0g*+A-{lbzwSU+HxWhHgYK|L`rZ^xDwxd}j+wZj^>evCMsW&A25HHD_m0yDnRG^LcBgY}dnJ*8?3b7mO)~FPKseU65`1vlq6w4s;u$V!EU7HuyI0-hjo? zkk8V8-frEu8o4;!F7kkL6WS-c!&TM6 zCpAk^&7<=N^ZLH4p6cCnHof_!+_uXHm9oFN{uSQ$-&7yY1h)gtRiFg+vfXn)7uT#-}d#^&&Nu}?l+7mr5Wk2Nz&HbG40QxlxF!XP2cy) z8k*Ij)y`kl+nPxy4OzB^!xv}csNw7nSg?8cZI z`@Z)xdm~F*)&4;swTMkFYbR}EQ@2SG&25)ougBQV2nzvS%-TY&KS?s4C(AbSC97*o z?w?`pnsUGVK#>+3-=6UO!!3`wZVAlHuyp^5mEqKk>01of-TL*G%Ld8P{kp|+-a0MP zWtH}VGJeYsa=+?0)Z@l}$M79&>Ty`_H_lYduSi__Xc|AKlcFNA3BkCDLqGfn>PLR>F3Bo?D!;B z%0Y{G^^^2wf`ul1-Sa2xsolO~(^{nA+k^xu zmB!T=%`yKaubj)xeVbm0Y<^?$DCvW`h{x`%du@@q>;8NiK|3&BHf6q0_sarfo(Usm zjF%^F?pyVO^l8*%jnY>a;-$#uV~g&rGj@4nQsnV8=(oKv^V8uy_SH|i&<`#;l`zt9 zGXBSZ4r4zKn9qmh$2CQFhv5r-&)^%wNAPXs>CzM3=16KeVUOB&-hQ?bUl_ePU}_tE zh4rSp!>9e)y1zTh1lzy*r7OLk|M<`0_UQaQBWzO49_yn!AjKw4++*3@l54{^y)z}t zo?+6H-Np!dcRuUv+|j>2Y?`pW)#|`_1Y?q`v-YBe73V%GB^zX zOqzK1k`-m|qdqL*?4>Yq&v#FI3+_aHGyg;00$AH=lKeHz$mWrC5e>zMT^nf+B!y+k zR0~(X>U>3v+k(AcINFBc`tSzp9$Pc@2w!}XbJ<)(F<<@ao>zu6k9dwX#6O$fT*OEJ zBbv>V4|JQ1kUVj6yA}P*Q{E`_DY?(Hw9Q}L`27Cd)-UHgPkZ1f-ecIWi2YNmuj?82 z+|{o#UWshHWzp8Uh<*8Wg$wAJN2#5zZFVEC!~32u|HRg8xZc+A^9vNd4m&=teiiqM z&=Tf<(<}7kMMY02_wtx&bKlg1**z0@A5AUkyBGL-`S>>QT{tyjOLbx2wweQn^Si>N zNg)5zvw z(kSVpy3q?))Qv7MblpEU8P9h%=pf5_wk`orZ>+0+h%GPc!cZx)DPdtlT~Xc8MTRcR zG|FcrwALGwke7NPve^#pjMzh1V^=+J2^XlP$hqD33vC{vz%8dEo}c?FKmXA)q5M2Z zRvHe^hZxyj-3hx%?U%~kbRn`SqVZH+!V-!ntjjAct;@?o zB>qKB8=g}sU7n-&AHs=6$!9xl6;XQ)4aP?!C7i^tds+SuvNc?OWA-i~njDUME&fbRB@?%oUC{U>O=vgUR8ZK=+ zWWmWs!6&AFYL|Gq%hpBy&nrl9?Og46dCmE#jIFRi?lW6m`%uc3jnsqg4y2qnxQ1Sd z?t8-(KE1H(bkto5N3Q&(k4?JeY;^C{8;ZaF;a`7=5`MHb6DNjPqn8Dy&?!Vw6zk4E zhkJLzF3-;o%g0!qz2^$gACiBv(=Z3+dpRiCCXVMa5|NX?DYFv!#SPi%VnqE-x|T`Z7N;f z-`cK$DgG0fUzeRi*T6(C!ThY2?$y9V=LfiO2L1k7{eIa&JUuQkfr|ZMwC+TX=4TDq zy{3{lb};A9QIY!nvqL!jUd~H@{rAgK`sArpqQ^1^d2k{=8Iu2Lzah_$iX4jJjO=I* z*`TIY#+i`bQ2t>Gx1g&D=ZOFKSnBTPj zQor9ap3kXMuBgq@{=#|i34RzlMJKY*K0e{7jNQ119)|!iNUs<7!V&#P0)S8O0Ui8v z9sITqeqRUwNeA=D6&%UepZPHciKFx-6Ak4@=T{PZFaBu%;&&8yIfn=HZ&q}N6lc~Lj)=Y&OX0>5Kdw6RvA9U~l)}ZsC=h;y;wPfH z5={0~J*xw75f+~4jE+k3XW=Yq^0V=sMDmf2cgaWmzaxJtz6WW8KN|~QXwGzo2d$$S zv7wglp_`_hRRVqle*?mUHGKtALakq^1o!5@wI$vzXk8vbY` zI)=i-C%a7e|M;G}&=#iKofT|HI)c7M>B#*X(?AUR?P_u;p}_-%C=StO9mln_TE{kk ze)9vaH8wI7d7Flb(kd~)R@WcvUQ zy;yMV{JXf<%KHE?^=-lldA9?hl~)Nt4&X>0_0q&g_J?#|E3X{u$kZ1KC*;)up_TVA z1U&;B$s@dww-5JPd3EU0Q-Kps$lC*iR^D_N4@wWoqfvs8cNq6td3zy``aa==yn{e! z<;{V-6~K`^dJ9Cz`&Zm+<;7!&L4BuiLf&tH(8_y6BM(VX<@MrTE3Xp9!wZ~nLf$1H zwDLZKJUeidJ{skS^uRAPPhwgJg<( z34Hir%r86Qqx1>SSqBlBYO-t06jBi^kR)9LKv;ftT} z{K-dO@%k?3oPg6bvvUgj?jWd@5@ve$RRbj^ZW)=gVTPTcs}=87GVxzI$@2#cGH}jW9I!N+j>;UjDpN4Rb~X2NulXt z4(o9)BSXlr(sz*h$q0uGtT8)S$KT>NE^2Vc=k0XT*)5a?%%B%E5ybC}1&wYFaT?}v z=I1A3b>oSBfwYnd?TuK!7%myI9+b?|jP}Hrif)Q%HYCq9Hy@U|Y%53SnY*`{@Z~Ct z$ZW)po!4+gbA#_x;)2$O zQ7PCH@RqNceKack^eKBp1Do_r`&QqbfWLa*)EjN=^U2}aq`mDMfG3U*+if@1_{_5x zPWWM~IoY~s>8*S(1t>e(D||TRRufOLkC!|C3{oQLZL2rK%MN{E+RQ%m%qQ4>BzzI` z=M~;$fad z7z^No2;<42G?CsOMeg@H4bxLlE|Gb!v7}>iDoH+TMTQ#o1e4g@pX4;Xlw>{Z;Uk*?DJ$R-yWm6 zO|R7G7>sr3QC#}g!{#V_xiDj|V@?U_>(;|8Dyt-|ge5_@=QfgTI-561x$|#k=In)O zO|8a)_*=~mQHQ??GrzCuoRNX+iQY(4Zu)F!y2+oJnN4miuH|lO|vX1G;0H%QV8vJP#W14 zqhGNPNL5VQ;&%IyCwhmO4U;lIe4=+T{M$eLHB#S!7PD(qlHX)R$_=>_HX!8&zst3r z+*(|c#BYOtt}+jPfXm9(ulLZ+08WxvJ0$NM^&$TEjPlyIGQ`2y6_cN(9cwjZck*ryyO zpBkRiW#IK~ihk{I+vnlQ_9Lb%hF;v|o4{?lV*cE=7&V`B;ELh316Pc%AGl)5%jxQ{ zzZa3yWptduzbQww`+Bd}OS%}gH(GKgS}@1HFObNR+YQOgd@gX&3*NE=htVn=?*xi6 z-sv22>pOwPo_7MvxvrPA*puRt<5OUhhi<_I%xjN_XlXB8KrvK{$pP`Yf$Z}k=s*q-wvg0$sT;$awtbR3`04T zpd4IEIXIG1lhf34DF6R?IRx^o`}RN=P>PQ|%2j_@MLp4qmW-t7$=OtA!?%~Bfixi2uOXi)Q_55_Ob48$F}1K*e#yBHR%&zn-VGOF3+c(Zd@X41+hS5gd~7DsZS zKQ$^XDXJN3g>8r_rEG0MpEncnOv`n?jIU9Ib!18tB#hq}g{ViGC!6PW*~+l$_~*Q? z2$RW?Qt@Wzko$e*r4@3jRoetjOI{PAY4pvE>IUhEI&MPSFTC&2S)6Hw9mYu~FR@LA zhO>d}LuUhXo;VxG*?BgQ?~Qpp_OZBqB-^ydjBf(dow3QZ)6VY<&BmSa^4-oA+}|q6 zI}^5GrrZyt@qL!) zUsw*orWS$|;{c>L4{M9!)UO?@_!(W>H(~#3!q!8y(ukd@6G>{Jza)1;0o}QAj+|K{ z+8`buQIa_Y=V)#6a>|1$C6QC`4IpW-lu+P6*^>;qSh86fBn>UdkrrxjUg<%}UXX!R zNWo`}%eZ^bn0d{i zwN?+lQGgw!Ny>^U;y=|nXdaI}DP2m&^OYxu*MRc90t!RlHAs+5N*H-Hn1B5>$+XBS zz1NwTg76AI*?P*wFlmew#!LNrtawkrJ{6=zSwAJ6n0(3h(0zyK?6wh&`!2=rh(M`g z2XF%Iz@^mCNlqJa;@T0MEJpi|zUXP&w4n8n0O-U59#Bzl*bvb`<*kB_uPu=fPj#I}V6bhHTGSqy!au_PH<(G;v3`L}&jI=f<9k zOuT#9rfUnSD&{)vV4bCYwVOXK0#kbNt5!V>#$FU z5!HutuQ@nqlw*{`WAgmslEw1;-1LJ^oZjvDtTWQt-MpN>`CU2Ea>?bo=J*Nd8Fp|f z#r)))6rAcx&ngSn~1fV)-z&jq{s) zseb(%Alk%Py~Quvw&F~SbL(*PX3JJfw>`!T_r-yPwH*p?V{})CEnrK zgOen57A*<7xbBqc7MvAz`sYFyNnd{Mgp4uyk`3~?UOk`E-IQXQym3y-C40&Pf4KeS z((_5(4_PSo-no`b_N1q~KKb|;my%p#{IkxJ&1v2Zdv|o3ojCi3_GwO1{=YmH`ROI| zko&vr{&ajnYX~oUD$Ar~v;W)v3_r>%Wi!gF1m(4}+mfP|aY`cT(wBL*&A&^xYrY-Z7ZR>O0Rwv11-}*wg)$uz>w*P!O&o`C8)m>x3 zdx1Y-uy%mqxYpxY(^OYKz zx2_BJh~7VO>b~@d+C%lcKGff|cb)rD_ct}YWT26|KC zc;$-vTiGYC-8=XRj3P1q8XxKE%f$_~nt)B(P=wD%aojsZvC_)^lEC;4F25pgpk zE-o?7c7r<8s7ax7^j~f|1(*AJ6Z%BWguaf>Zt=6CLt#C#@9P4NN*UvpPjd4ikv

    rGZ{;pc@VJL;f?tL$k(K(#ogKZXc3a6vl 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

  • CGh@*v<%B$%-y?r${2e~ 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 diff --git a/libs/nema_gfx/lib/core/cortex_m33/gcc/libnemagfx.a b/libs/nema_gfx/lib/core/cortex_m33/gcc/libnemagfx.a index 39f62f4f21ef6b43a0a618a54d9b7e5504e52e7e..50ffd6ee0929a6b321c034a6f3ee10fb56ba8156 100644 GIT binary patch literal 313316 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π9hMA7kt6XCN>4Qrf_&E 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 diff --git a/src/draw/nema_gfx/lv_draw_nema_gfx.c b/src/draw/nema_gfx/lv_draw_nema_gfx.c index 91c7fa76f..7c7c52b64 100644 --- a/src/draw/nema_gfx/lv_draw_nema_gfx.c +++ b/src/draw/nema_gfx/lv_draw_nema_gfx.c @@ -140,10 +140,7 @@ static int32_t nema_gfx_evaluate(lv_draw_unit_t * draw_unit, lv_draw_task_t * ta } #if LV_USE_NEMA_VG case LV_DRAW_TASK_TYPE_TRIANGLE: - case LV_DRAW_TASK_TYPE_ARC: { - lv_draw_arc_dsc_t * draw_arc_dsc = (lv_draw_arc_dsc_t *) task->draw_dsc; - if(draw_arc_dsc->rounded == 0) break; - } + case LV_DRAW_TASK_TYPE_ARC: case LV_DRAW_TASK_TYPE_FILL: { if(task->preference_score > 80) { task->preference_score = 80; diff --git a/src/draw/nema_gfx/lv_draw_nema_gfx_arc.c b/src/draw/nema_gfx/lv_draw_nema_gfx_arc.c index 1c8f2ea42..f151bdcae 100644 --- a/src/draw/nema_gfx/lv_draw_nema_gfx_arc.c +++ b/src/draw/nema_gfx/lv_draw_nema_gfx_arc.c @@ -93,8 +93,8 @@ void lv_draw_nema_gfx_arc(lv_draw_unit_t * draw_unit, const lv_draw_arc_dsc_t * draw_nema_gfx_unit->paint); } else { - /* nema_vg_draw_ring_generic(center.x, center.y, (float)dsc->radius - (float)dsc->width * 0.5f, start_angle, - end_angle, draw_nema_gfx_unit->paint, 0U); */ + nema_vg_draw_ring_generic(center.x, center.y, (float)dsc->radius - (float)dsc->width * 0.5f, start_angle, + end_angle, draw_nema_gfx_unit->paint, 0U); } nema_cl_submit(&(draw_nema_gfx_unit->cl));