Skip to content

Commit

Permalink
Update on 23 Oct 2023. Expand to see details.
Browse files Browse the repository at this point in the history
8c96f6775 Update release version and date for 6.3.0 minor release.
dc8ff31a6 Added partial canvas buffer support for 565rgb color format.
09becae29 Fixed a pattern line draw bug.
8c1e619c2 Remove font page count limitation for standalone binary resource.
34a028615 Drop-list not correctly drawing child widgets.
180ddf8c9 Added VC++ runtime dependency.
57181a765 Fixed GUIX Studio command line to support the opening of a GXP project by specifying the project's pathname.
33c984599 Fixed GUIX Studio test failures.
079b75e09 Improved some error checkings.
f166c7633 Improved the performance of the Helium version 24xrgb JPEG decoding.
8ba85ed38 Support standalone binary resource generation and loading.
f0b95a87a Re-generate the FreeType library with the Z_PREFIX configuration.
ab7e1299a Bump GUIX Studio version to 6.2.1.4.
f0a659115 Improved logic to mitigate test failure caused by low-performance test machine.
e8100dc1c Fixed crash when delete a color or pixelmap folder with page heap enabled.
9fb6d5d94 Fixed MSRC 81023 bug caused by glyph width casting overflow.
ff1ad8aff Fixed potential crash issue with the expand/collapse animation in the accordion menu.
93483ff72 Specify package pipeline triggers to avoid being triggered on everything.
6eea10524 Add pipeline to run codeql.
b9c83924e Updated GUIX Studio version and readme for 6.2.1.3 release.
b7443814c Enable codeql in onebranch pipeline
5442979ba Bump GUIX Studio version number to 6.2.1.3.
  • Loading branch information
bo-ms committed Oct 23, 2023
1 parent 50ead25 commit 354445b
Show file tree
Hide file tree
Showing 113 changed files with 9,136 additions and 614 deletions.
4 changes: 4 additions & 0 deletions common/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,8 @@ target_sources(${PROJECT_NAME}
${CMAKE_CURRENT_LIST_DIR}/src/gx_binres_language_info_load.c
${CMAKE_CURRENT_LIST_DIR}/src/gx_binres_language_table_load.c
${CMAKE_CURRENT_LIST_DIR}/src/gx_binres_theme_load.c
${CMAKE_CURRENT_LIST_DIR}/src/gx_binres_pixelmap_load.c
${CMAKE_CURRENT_LIST_DIR}/src/gx_binres_font_load.c
${CMAKE_CURRENT_LIST_DIR}/src/gx_brush_default.c
${CMAKE_CURRENT_LIST_DIR}/src/gx_brush_define.c
${CMAKE_CURRENT_LIST_DIR}/src/gx_button_background_draw.c
Expand Down Expand Up @@ -913,6 +915,8 @@ target_sources(${PROJECT_NAME}
${CMAKE_CURRENT_LIST_DIR}/src/gxe_binres_language_info_load.c
${CMAKE_CURRENT_LIST_DIR}/src/gxe_binres_language_table_load.c
${CMAKE_CURRENT_LIST_DIR}/src/gxe_binres_theme_load.c
${CMAKE_CURRENT_LIST_DIR}/src/gxe_binres_pixelmap_load.c
${CMAKE_CURRENT_LIST_DIR}/src/gxe_binres_font_load.c
${CMAKE_CURRENT_LIST_DIR}/src/gxe_brush_default.c
${CMAKE_CURRENT_LIST_DIR}/src/gxe_brush_define.c
${CMAKE_CURRENT_LIST_DIR}/src/gxe_button_create.c
Expand Down
43 changes: 34 additions & 9 deletions common/inc/gx_api.h
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
/* APPLICATION INTERFACE DEFINITION RELEASE */
/* */
/* gx_api.h PORTABLE C */
/* 6.2.1 */
/* 6.3.0 */
/* AUTHOR */
/* */
/* Kenneth Maxwell, Microsoft Corporation */
Expand Down Expand Up @@ -68,7 +68,7 @@
/* added new widget type */
/* GX_GENERIC_SCROLL_WHEEL, */
/* added animation delete API, */
/* added generic Dave2D */
/* added generic Dave2D */
/* graphics accelerator */
/* support, */
/* resulting in version 6.1.7 */
Expand Down Expand Up @@ -104,6 +104,14 @@
/* 03-08-2023 Ting Zhu Modified comment(s), */
/* updated patch version, */
/* resulting in version 6.2.1 */
/* 10-31-2023 Ting Zhu Modified comment(s), */
/* added new APIs for loading */
/* pixelmap and font from */
/* standalone binary, */
/* removed unused defines, */
/* added partial canvas buffer */
/* support, */
/* resulting in version 6.3.0 */
/* */
/**************************************************************************/

Expand All @@ -126,8 +134,8 @@ extern "C" {

#define AZURE_RTOS_GUIX
#define GUIX_MAJOR_VERSION 6
#define GUIX_MINOR_VERSION 2
#define GUIX_PATCH_VERSION 1
#define GUIX_MINOR_VERSION 3
#define GUIX_PATCH_VERSION 0

/* The following symbols are defined for backward compatibility reasons.*/
#define __PRODUCT_GUIX__
Expand Down Expand Up @@ -363,7 +371,9 @@ typedef struct GX_STRING_STRUCT
#define GX_FALSE 0
#define GX_NULL 0
#define GX_ID_NONE 0
#define GX_MAGIC_NUMBER 0x4758U
#define GX_MAGIC_NUMBER 0x4758U /* GX */
#define GX_RESOURCE_TYPE_BINRES_NORMAL 0x4758U /* GX */
#define GX_RESOURCE_TYPE_BINRES_STANDALONE 0x4753U /* GS */

/* API return values. */

Expand Down Expand Up @@ -970,6 +980,7 @@ typedef struct GX_STRING_STRUCT
#define GX_CANVAS_VISIBLE 0x04 /* Canvas is visible */
#define GX_CANVAS_MODIFIED 0x08
#define GX_CANVAS_COMPOSITE 0x20 /* Canvas is a buffer for creating composite*/
#define GX_CANVAS_PARTIAL_FRAME_BUFFER 0x40

/* Define common combinations. */

Expand Down Expand Up @@ -1519,6 +1530,10 @@ typedef struct GX_DRAW_CONTEXT_STRUCT
GX_RECTANGLE gx_draw_context_dirty;
GX_RECTANGLE *gx_draw_context_clip;
GX_VALUE gx_draw_context_pitch;
#if defined GX_ENABLE_CANVAS_PARTIAL_FRAME_BUFFER
GX_VALUE gx_draw_context_offset_x;
GX_VALUE gx_draw_context_offset_y;
#endif
} GX_DRAW_CONTEXT;

/* Define fill map info type. */
Expand Down Expand Up @@ -1808,6 +1823,12 @@ typedef struct GX_CANVAS_STRUCT

/* Define the canvas memory pointer. */
GX_COLOR *gx_canvas_memory;
#ifdef GX_ENABLE_CANVAS_PARTIAL_FRAME_BUFFER
GX_VALUE gx_canvas_memory_width;
GX_VALUE gx_canvas_memory_height;
GX_VALUE gx_canvas_memory_offset_x;
GX_VALUE gx_canvas_memory_offset_y;
#endif

/* padded canvas memory buffer, only needed for Win32 */
#ifdef GX_TARGET_WIN32
Expand Down Expand Up @@ -1835,7 +1856,6 @@ typedef struct GX_CANVAS_STRUCT
GX_UBYTE gx_canvas_alpha;
GX_UBYTE gx_canvas_draw_nesting;
GX_BYTE gx_canvas_hardware_layer;

} GX_CANVAS;

/* Define Theme type */
Expand Down Expand Up @@ -1877,7 +1897,6 @@ typedef struct GX_PEN_CONFIGURATION_STRUCT
UINT gx_pen_configuration_max_pen_speed_ticks;
} GX_PEN_CONFIGURATION;


#define GX_RESOURCE_HEADER_SIZE 20
#define GX_THEME_HEADER_SIZE 114
#define GX_COLOR_HEADER_SIZE 8
Expand Down Expand Up @@ -3002,6 +3021,8 @@ typedef struct GX_FIXED_POINT_STRUCT
#endif
#define gx_binres_language_table_load_ext _gx_binres_language_table_load_ext
#define gx_binres_theme_load _gx_binres_theme_load
#define gx_binres_pixelmap_load _gx_binres_pixelmap_load
#define gx_binres_font_load _gx_binres_font_load

#define gx_brush_default _gx_brush_default
#define gx_brush_define _gx_brush_define
Expand Down Expand Up @@ -3488,8 +3509,6 @@ typedef struct GX_FIXED_POINT_STRUCT
#define gx_text_scroll_wheel_draw _gx_text_scroll_wheel_draw
#define gx_text_scroll_wheel_event_process _gx_text_scroll_wheel_event_process

#define gx_transition_window_create(a, b, c, d, e, f) _gx_transition_window_create(a, b, (GX_WIDGET *)c, d, e, f)

#define gx_tree_view_create(a, b, c, d, e, f) _gx_tree_view_create((GX_TREE_VIEW *)a, b, (GX_WIDGET *)c, d, e, f)
#define gx_tree_view_draw _gx_tree_view_draw
#define gx_tree_view_event_process _gx_tree_view_event_process
Expand Down Expand Up @@ -3662,6 +3681,8 @@ UINT _gx_binres_language_table_load(GX_UBYTE *root_address, GX_UBYTE ****returne
#endif
UINT _gx_binres_language_table_load_ext(GX_UBYTE *root_address, GX_STRING ***returned_language_table);
UINT _gx_binres_theme_load(GX_UBYTE *root_address, INT theme_id, GX_THEME **returned_theme);
UINT _gx_binres_pixelmap_load(GX_UBYTE *root_address, UINT map_index, GX_PIXELMAP *pixelmap);
UINT _gx_binres_font_load(GX_UBYTE *root_address, UINT font_index, GX_UBYTE *buffer, ULONG *buffer_size);

UINT _gx_brush_default(GX_BRUSH *brush);
UINT _gx_brush_define(GX_BRUSH *brush, GX_COLOR line_color, GX_COLOR fill_color, UINT style);
Expand Down Expand Up @@ -4484,6 +4505,8 @@ UINT _gx_window_wallpaper_set(GX_WINDOW *window, GX_RESOURCE_ID wallpaper_id, GX
#endif
#define gx_binres_language_table_load_ext _gxe_binres_language_table_load_ext
#define gx_binres_theme_load _gxe_binres_theme_load
#define gx_binres_pixelmap_load _gxe_binres_pixelmap_load
#define gx_binres_font_load _gxe_binres_font_load

#define gx_brush_default _gxe_brush_default
#define gx_brush_define _gxe_brush_define
Expand Down Expand Up @@ -5139,6 +5162,8 @@ UINT _gxe_binres_language_table_load(GX_UBYTE *root_address, GX_UBYTE ****return
#endif
UINT _gxe_binres_language_table_load_ext(GX_UBYTE *root_address, GX_STRING ***returned_language_table);
UINT _gxe_binres_theme_load(GX_UBYTE *root_address, INT theme_id, GX_THEME **returned_theme);
UINT _gxe_binres_pixelmap_load(GX_UBYTE *root_address, UINT map_index, GX_PIXELMAP *pixelmap);
UINT _gxe_binres_font_load(GX_UBYTE *root_address, UINT font_index, GX_UBYTE *buffer, ULONG *buffer_size);

UINT _gxe_brush_default(GX_BRUSH *brush);
UINT _gxe_brush_define(GX_BRUSH *brush, GX_COLOR line_color, GX_COLOR fill_color, UINT style);
Expand Down
14 changes: 13 additions & 1 deletion common/inc/gx_binres_loader.h
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
/* COMPONENT DEFINITION RELEASE */
/* */
/* gx_binres_loader.h PORTABLE C */
/* 6.1 */
/* 6.3.0 */
/* AUTHOR */
/* */
/* Kenneth Maxwell, Microsoft Corporation */
Expand All @@ -46,6 +46,9 @@
/* defined macros to read */
/* integer value, */
/* resulting in version 6.1 */
/* 10-31-2023 Ting Zhu Modified comment(s), */
/* declared new prototypes, */
/* resulting in version 6.3.0 */
/* */
/**************************************************************************/

Expand Down Expand Up @@ -84,6 +87,13 @@ UINT _gx_binres_resource_header_load(GX_BINRES_DATA_INFO *info, GX_RESOURCE_HEAD

UINT _gx_binres_string_header_load(GX_BINRES_DATA_INFO *info, GX_STRING_HEADER *header);
UINT _gx_binres_language_header_load(GX_BINRES_DATA_INFO *info, GX_LANGUAGE_HEADER *header);
UINT _gx_binres_one_pixelmap_load(GX_BINRES_DATA_INFO *info, GX_PIXELMAP **returned_pixelmap, USHORT *map_id);
UINT _gx_binres_pixelmap_load(GX_UBYTE *root_address, UINT map_index, GX_PIXELMAP *pixelmap);
UINT _gx_binres_font_buffer_size_get(GX_BINRES_DATA_INFO *info, UINT *buffer_size, GX_BOOL reset_read_offset);
UINT _gx_binres_one_font_load(GX_BINRES_DATA_INFO *info, GX_FONT **return_font);
UINT _gx_binres_font_header_load(GX_BINRES_DATA_INFO *info, GX_FONT_HEADER *header);
UINT _gx_binres_font_load(GX_UBYTE *root_address, UINT font_index, GX_UBYTE *buffer, ULONG *buffer_size);
UINT _gx_binres_standalone_resource_seek(GX_BINRES_DATA_INFO *info, UINT res_index);

/* Define error checking shells for API services. These are only referenced by the
application. */
Expand All @@ -95,6 +105,8 @@ UINT _gxe_binres_language_table_load(GX_UBYTE *root_address, GX_UBYTE ****return
#endif
UINT _gxe_binres_language_table_load_ext(GX_UBYTE *root_address, GX_STRING ***returned_language_table);
UINT _gxe_binres_theme_load(GX_UBYTE *root_address, INT theme_id, GX_THEME **returned_theme);
UINT _gxe_binres_pixelmap_load(GX_UBYTE *root_address, UINT map_index, GX_PIXELMAP *pixelmap);
UINT _gxe_binres_font_load(GX_UBYTE *root_address, UINT res_index, GX_UBYTE *buffer, ULONG *buffer_size);

#endif

Expand Down
18 changes: 15 additions & 3 deletions common/inc/gx_display.h
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
/* COMPONENT DEFINITION RELEASE */
/* */
/* gx_display.h PORTABLE C */
/* 6.x */
/* 6.3.0 */
/* AUTHOR */
/* */
/* Kenneth Maxwell, Microsoft Corporation */
Expand Down Expand Up @@ -60,9 +60,11 @@
/* added language direction */
/* table set declarations, */
/* resulting in version 6.1.10 */
/* xx-xx-xxxx Ting Zhu Modified comment(s), */
/* 10-31-2023 Ting Zhu Modified comment(s), */
/* removed unused prototypes, */
/* resulting in version 6.x */
/* added partial canvas buffer */
/* support, */
/* resulting in version 6.3.0 */
/* */
/**************************************************************************/

Expand Down Expand Up @@ -542,3 +544,13 @@ VOID *_win32_canvas_memory_prepare(GX_CANVAS *canvas, GX_RECTANGLE *dirty);
}
#endif

#if defined GX_ENABLE_CANVAS_PARTIAL_FRAME_BUFFER
#define GX_CALCULATE_PUTROW(putrow, xpos, ypos, context)\
putrow += (ypos - context->gx_draw_context_offset_y) * context->gx_draw_context_pitch;\
putrow += (xpos - context->gx_draw_context_offset_x)
#else
#define GX_CALCULATE_PUTROW(putrow, xpos, ypos, context)\
putrow += ypos * context->gx_draw_context_pitch;\
putrow += xpos
#endif

12 changes: 9 additions & 3 deletions common/inc/gx_image_reader.h
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
/* COMPONENT DEFINITION RELEASE */
/* */
/* gx_image_reader.h PORTABLE C */
/* 6.x */
/* 6.3.0 */
/* AUTHOR */
/* */
/* Kenneth Maxwell, Microsoft Corporation */
Expand All @@ -52,9 +52,11 @@
/* added definitions for fixed */
/* size table dimensions, */
/* resulting in version 6.2.0 */
/* xx-xx-xxxx Ting Zhu Modified comment(s), added */
/* 10-31-2023 Ting Zhu Modified comment(s), added */
/* support for ARM Helium, */
/* resulting in version 6.x */
/* added partial canvas buffer */
/* support, */
/* resulting in version 6.3.0 */
/* */
/**************************************************************************/
#if defined(GX_SOFTWARE_DECODER_SUPPORT)
Expand Down Expand Up @@ -133,6 +135,10 @@ typedef struct GX_JPEG_INFO_STRUCT
VOID (*gx_jpeg_pixel_write)(struct GX_JPEG_INFO_STRUCT *jpeg_info, GX_UBYTE red, GX_UBYTE green, GX_UBYTE blue);
#endif
GX_UBYTE *gx_jpeg_output_buffer;
#if defined(GX_ENABLE_CANVAS_PARTIAL_FRAME_BUFFER)
GX_VALUE gx_jpeg_output_buffer_offset_x;
GX_VALUE gx_jpeg_output_buffer_offset_y;
#endif
USHORT gx_jpeg_output_width;
USHORT gx_jpeg_output_height;
INT gx_jpeg_output_stride;
Expand Down
24 changes: 19 additions & 5 deletions common/inc/gx_user_sample.h
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
/* APPLICATION INTERFACE DEFINITION RELEASE */
/* */
/* gx_user.h PORTABLE C */
/* 6.x */
/* 6.3.0 */
/* AUTHOR */
/* */
/* Kenneth Maxwell, Microsoft Corporation */
Expand All @@ -45,10 +45,11 @@
/* 01-31-2022 Kenneth Maxwell Modified comment(s), */
/* fixed typo, */
/* resulting in version 6.1.10 */
/* xx-xx-xxxx Ting Zhu Modified comment(s), */
/* added GX_ENABLE_ARM_HELIUM */
/* definition, */
/* resulting in version 6.x */
/* 10-31-2023 Ting Zhu Modified comment(s), added */
/* GX_ENABLE_ARM_HELIUM and */
/* partial canvas frame buffer */
/* support configurations, */
/* resulting in version 6.3.0 */
/* */
/**************************************************************************/

Expand Down Expand Up @@ -76,5 +77,18 @@
/* This can be defined to enable the use of ARM Helium intrinsics for
JPEG decoding. */
/* #define GX_ENABLE_ARM_HELIUM */

/* This can be defined to enable the partial canvas frame buffer feature. */
/* #define GX_ENABLE_CANVAS_PARTIAL_FRAME_BUFFER */

/* The two following definitions can be used to specify the canvas refresh directions for the partial canvas frame buffer feature.
By default, the canvas refreshes its dirty areas one by one.
If the application requires refreshing the canvas in a specific direction to mitigate tearing effects, one of the following two definitions can be used.
In this scenario, the total dirty area that covers all the dirty areas is calculated, and then the canvas is refreshed in the direction
defined by one of the following two definitions. */

/* #define GX_CANVAS_REFRESH_DIRECTION_HORIZONTAL */
/* #define GX_CANVAS_REFRESH_DIRECTION_VERTICAL */

#endif

Loading

0 comments on commit 354445b

Please sign in to comment.