add canvas_buffer to api

This commit is contained in:
MX
2026-05-03 23:08:56 +03:00
parent bcbb1b5e04
commit daec03bd35
5 changed files with 23 additions and 19 deletions
+2 -1
View File
@@ -1,5 +1,5 @@
## Main changes
- Current API: 87.7
- Current API: 87.8
* SubGHz: Add support for **42+ Keeloq based systems** (with partial Add Manually support) (see [Full list](/documentation/SubGHzSupportedSystems.md)) (by @zero-mega, @xMasterX, ARF Team)
* SubGHz: Add **Allstar Firefly 318ALD31K** protocol (18 bits, Static) (PR #989 | by @jlaughter)
* SubGHz: Add **Nord ICE** protocol (33 bits, Static)
@@ -17,6 +17,7 @@
* OFW PR 4369: NFC: Fix stack buffer overflows in MFUL FAST_READ and DESFire file settings parsers (by @qp-x-qp)
* Apps: Build tag (**29apr2026**) - **Check out more Apps updates and fixes by following** [this link](https://github.com/xMasterX/all-the-plugins/commits/dev)
## Other changes
* UI: Add `canvas_get_buffer`, `canvas_get_buffer_size` to public API
* HID App: PTT improvements (PR #996 | by @hryamzik)
* UI: Wording changes to be more clear (PR #994 | by @SkeletonMan03)
* SubGHz: Fix duplicate code in RAW protocol
+1
View File
@@ -1,4 +1,5 @@
#include "canvas_i.h"
#include "canvas.h"
#include "icon_animation_i.h"
#include <furi.h>
+16
View File
@@ -85,6 +85,22 @@ typedef enum {
/** Canvas anonymous structure */
typedef struct Canvas Canvas;
/** Get canvas buffer.
*
* @param canvas Canvas instance
*
* @return pointer to buffer
*/
uint8_t* canvas_get_buffer(Canvas* canvas);
/** Get canvas buffer size.
*
* @param canvas Canvas instance
*
* @return size of canvas in bytes
*/
size_t canvas_get_buffer_size(const Canvas* canvas);
/** Reset canvas drawing tools configuration
*
* @param canvas Canvas instance
-16
View File
@@ -61,22 +61,6 @@ Canvas* canvas_init(void);
*/
void canvas_free(Canvas* canvas);
/** Get canvas buffer.
*
* @param canvas Canvas instance
*
* @return pointer to buffer
*/
uint8_t* canvas_get_buffer(Canvas* canvas);
/** Get canvas buffer size.
*
* @param canvas Canvas instance
*
* @return size of canvas in bytes
*/
size_t canvas_get_buffer_size(const Canvas* canvas);
/** Set drawing region relative to real screen buffer
*
* @param canvas Canvas instance
+4 -2
View File
@@ -1,5 +1,5 @@
entry,status,name,type,params
Version,+,87.7,,
Version,+,87.8,,
Header,+,applications/drivers/subghz/cc1101_ext/cc1101_ext_interconnect.h,,
Header,+,applications/services/applications.h,,
Header,+,applications/services/bt/bt_service/bt.h,,
@@ -880,6 +880,8 @@ Function,+,canvas_draw_str_aligned,void,"Canvas*, int32_t, int32_t, Align, Align
Function,+,canvas_draw_triangle,void,"Canvas*, int32_t, int32_t, size_t, size_t, CanvasDirection"
Function,+,canvas_draw_xbm,void,"Canvas*, int32_t, int32_t, size_t, size_t, const uint8_t*"
Function,+,canvas_draw_xbm_ex,void,"Canvas*, int32_t, int32_t, size_t, size_t, IconRotation, const uint8_t*"
Function,+,canvas_get_buffer,uint8_t*,Canvas*
Function,+,canvas_get_buffer_size,size_t,const Canvas*
Function,+,canvas_get_font_params,const CanvasFontParameters*,"const Canvas*, Font"
Function,+,canvas_glyph_width,size_t,"Canvas*, uint16_t"
Function,+,canvas_height,size_t,const Canvas*
@@ -3734,8 +3736,8 @@ Function,+,subghz_protocol_encoder_raw_stop,void,void*
Function,+,subghz_protocol_encoder_raw_yield,LevelDuration,void*
Function,+,subghz_protocol_faac_slh_create_data,_Bool,"void*, FlipperFormat*, uint32_t, uint8_t, uint32_t, uint32_t, const char*, SubGhzRadioPreset*"
Function,+,subghz_protocol_jarolift_create_data,_Bool,"void*, FlipperFormat*, uint32_t, uint8_t, uint16_t, SubGhzRadioPreset*"
Function,+,subghz_protocol_keeloq_seed_create_data,_Bool,"void*, FlipperFormat*, uint32_t, uint8_t, uint16_t, uint32_t, const char*, SubGhzRadioPreset*"
Function,+,subghz_protocol_keeloq_create_data,_Bool,"void*, FlipperFormat*, uint32_t, uint8_t, uint16_t, const char*, SubGhzRadioPreset*"
Function,+,subghz_protocol_keeloq_seed_create_data,_Bool,"void*, FlipperFormat*, uint32_t, uint8_t, uint16_t, uint32_t, const char*, SubGhzRadioPreset*"
Function,+,subghz_protocol_kinggates_stylo_4k_create_data,_Bool,"void*, FlipperFormat*, uint32_t, uint8_t, uint16_t, SubGhzRadioPreset*"
Function,+,subghz_protocol_nice_flor_s_create_data,_Bool,"void*, FlipperFormat*, uint32_t, uint8_t, uint16_t, SubGhzRadioPreset*, _Bool"
Function,+,subghz_protocol_phoenix_v2_create_data,_Bool,"void*, FlipperFormat*, uint32_t, uint16_t, SubGhzRadioPreset*"
1 entry status name type params
2 Version + 87.7 87.8
3 Header + applications/drivers/subghz/cc1101_ext/cc1101_ext_interconnect.h
4 Header + applications/services/applications.h
5 Header + applications/services/bt/bt_service/bt.h
880 Function + canvas_draw_triangle void Canvas*, int32_t, int32_t, size_t, size_t, CanvasDirection
881 Function + canvas_draw_xbm void Canvas*, int32_t, int32_t, size_t, size_t, const uint8_t*
882 Function + canvas_draw_xbm_ex void Canvas*, int32_t, int32_t, size_t, size_t, IconRotation, const uint8_t*
883 Function + canvas_get_buffer uint8_t* Canvas*
884 Function + canvas_get_buffer_size size_t const Canvas*
885 Function + canvas_get_font_params const CanvasFontParameters* const Canvas*, Font
886 Function + canvas_glyph_width size_t Canvas*, uint16_t
887 Function + canvas_height size_t const Canvas*
3736 Function + subghz_protocol_encoder_raw_yield LevelDuration void*
3737 Function + subghz_protocol_faac_slh_create_data _Bool void*, FlipperFormat*, uint32_t, uint8_t, uint32_t, uint32_t, const char*, SubGhzRadioPreset*
3738 Function + subghz_protocol_jarolift_create_data _Bool void*, FlipperFormat*, uint32_t, uint8_t, uint16_t, SubGhzRadioPreset*
Function + subghz_protocol_keeloq_seed_create_data _Bool void*, FlipperFormat*, uint32_t, uint8_t, uint16_t, uint32_t, const char*, SubGhzRadioPreset*
3739 Function + subghz_protocol_keeloq_create_data _Bool void*, FlipperFormat*, uint32_t, uint8_t, uint16_t, const char*, SubGhzRadioPreset*
3740 Function + subghz_protocol_keeloq_seed_create_data _Bool void*, FlipperFormat*, uint32_t, uint8_t, uint16_t, uint32_t, const char*, SubGhzRadioPreset*
3741 Function + subghz_protocol_kinggates_stylo_4k_create_data _Bool void*, FlipperFormat*, uint32_t, uint8_t, uint16_t, SubGhzRadioPreset*
3742 Function + subghz_protocol_nice_flor_s_create_data _Bool void*, FlipperFormat*, uint32_t, uint8_t, uint16_t, SubGhzRadioPreset*, _Bool
3743 Function + subghz_protocol_phoenix_v2_create_data _Bool void*, FlipperFormat*, uint32_t, uint16_t, SubGhzRadioPreset*