About GUIX User Guide

This guide contains comprehensive information about Azure RTOS GUIX, the high-performance GUI product from Microsoft. It is intended for embedded real-time software developers familiar with basic GUI concepts, Azure RTOS ThreadX, and the C programming language.


Chapter 1 - Introduction to Azure RTOS GUIX

Chapter 2 - Installation and use of Azure RTOS GUIX

Chapter 3 - Functional Overview of Azure RTOS GUIX

Chapter 4 - Description of Azure RTOS GUIX Services

Chapter 5 - Azure RTOS GUIX Display Drivers

Azure RTOS GUIX Example

Appendix A - Azure RTOS GUIX Color Definitions

Appendix B - Azure RTOS GUIX Color Formats

Appendix C - Azure RTOS GUIX Widget Styles

Appendix D - Azure RTOS GUIX Brush, Canvas and Gradient Attributes

Appendix E - Azure RTOS GUIX Event Description

Appendix F - Azure RTOS GUIX RTOS Binding Services

Appendix G - Azure RTOS GUIX Font Structure

Appendix H - Azure RTOS GUIX Build-Time Configuration flags

Appendix I - Azure RTOS GUIX Information Structures

Guide Conventions

Italics - Typeface denotes book titles, emphasizes important words, and indicates variables.

Boldface - Typeface denotes file names, key words, and further emphasizes important words and variables.


Information symbols draw attention to important or additional information that could affect performance or function.

Azure RTOS GUIX Data Types

In addition to the custom Azure RTOS GUIX control structure data types, there are several special data types that are used in Azure RTOS GUIX service call interfaces. These special data types map directly to data types of the underlying C compiler. This is done to ensure portability between different C compilers. The exact implementation is inherited from ThreadX and can be found in the tx_port.h file included in the ThreadX distribution.

The following is a list of Azure RTOS GUIX service call data types and their associated meanings:

Data type Description
UINT Basic unsigned integer. This type is mapped to the most convenient unsigned data type.
INT Basic signed integer. This type is mapped to the most convenient signed data type.
ULONG Unsigned long type. This type must support 32-bit unsigned data.
VOID Almost always equivalent to the compiler’s void type.
GX_CHAR Most often typedefed as the compiler defined char type.
GX_BYTE 8-bit signed type.
GX_UBYTE 8-bit unsigned type.
GX_VALUE 16 or 32 bit signed type. Defined as needed for best performance on the target system.
GX_FIXED_VAL Fixed point numeric data type.
GX_RESOURCE_ID Unsigned long type.
GX_COLOR Unsigned long type.
GX_STRING Structure containing GX_CHAR *gx_string_ptr and UINT gx_string_length.
GX_POINT Structure containing gx_point_x and gx_point_y.
GX_RECTANGLE Structure containing gx_rectangle_left, gx_rectangle_top, gx_rectangle_right, and gx_rectangle_bottom fields.
GX_GLYPH Structure containing glyph metrics.
GX_FONT Structure containing font metrics.
GX_BRUSH Structure containing brush metrics.
GX_PIXELMAP Structure containing pixelmap metrics.

Additional data types are used within the Azure RTOS GUIX source. They are located in either the tx_port.h or gx_port.h files.

Customer Support Center

Please submit a support ticket through the Azure Portal for questions or help using the steps here. Please supply us with the following information in an email message so we can more efficiently resolve your support request:

  1. A detailed description of the problem, including frequency of occurrence and whether it can be reliably reproduced.

  2. A detailed description of any changes to the application and/or Azure RTOS GUIX that preceded the problem.

  3. The contents of the _tx_version_id and _gx_version_id strings found in the tx_port.h and gx_port.h files of your distribution. These strings will provide us valuable Information regarding your run-time environment.

  4. The contents in RAM of the following ULONG variables:

    _tx_build_options _gx_system_build_options

    These variables will give us information on how your Azure RTOS ThreadX and Azure RTOS GUIX libraries were built.

  5. The contents in RAM of the following ULONG variables:

    _gx_system_last_error _gx_system_error_count

    These variables keep track of internal system errors in Azure RTOS GUIX. If the _gx_system_error_count is greater than one, please set a breakpoint on the function return in the _gx_system_error_process function and provide the value of _gx_system_last_error at this point. This will yield the first internal Azure RTOS GUIX system error.

  6. A trace buffer captured immediately after the problem was detected. This is accomplished by building the Azure RTOS ThreadX and Azure RTOS GUIX libraries with TX_ENABLE_EVENT_TRACE and calling tx_trace_enable with the trace buffer information.

  7. The Azure RTOS GUIX Studio project you are using, if applicable, or at a minimum a small project sufficient to demonstrate the deficiency you are reporting.