********************************************************************************
*
* E M B E D D E D   W I Z A R D   P R O J E C T
*
*                                                Copyright (c) TARA Systems GmbH
*                                    written by Paul Banach and Manfred Schweyer
*
********************************************************************************
*
* This software and related documentation ("Software") are intellectual
* property owned by TARA Systems and are copyright of TARA Systems.
* Any modification, copying, reproduction or redistribution of the Software in
* whole or in part by any means not in accordance with the End-User License
* Agreement for Embedded Wizard is expressly prohibited. The removal of this
* preamble is expressly prohibited.
*
********************************************************************************
*
* DESCRIPTION:
*
*   Embedded Wizard NXP iMX_RT_VGLite Platform Package
*   * Graphics Engine (GFX)
*   * Runtime Environment (RTE)
*
*   This directory contains the source codes and/or libraries of the components
*   Graphics Engine (GFX) and Runtime Environment (RTE) used to run a GUI
*   application generated by Embedded Wizard on the NXP iMX_RT_VGLite target.
*
*   This file contains a description of additional platform specific details:
*   - Platform Specific Release Notes (Version History of GFX and RTE)
*   - Supported Platforms and Color Formats
*   - Test and Verification Notes
*
*******************************************************************************/

Getting started with Embedded Wizard Studio:
--------------------------------------------
  In order to get familiar with Embedded Wizard Studio and the UI development
  work-flow, we highly recommend to study our online documentation:

  https://doc.embedded-wizard.de

  Furthermore, we have collected many 'Questions and Answers' covering
  typical Embedded Wizard programming aspects. Please visit our community:

  https://ask.embedded-wizard.de

  Please use this platform to drop your questions, answers and ideas.


Platform Specific Release Notes (Version History of GFX and RTE):
-----------------------------------------------------------------
  Please read first the Embedded Wizard Release Notes, to be informed about all
  general improvements or changes:

  https://doc.embedded-wizard.de/release-notes

  The following section contains additonal platform specific changes, related to
  Graphics Engine (GFX) or Runtime Environment (RTE):

* Version 10.00
  - Enhancement of Runtime Environment to support int64 datatypes.
  - Additional math functions added to Runtime Environment.
  - EwGetTime() has been changed to return int64 instead of uint32.
  - Bugfix in EwStringToUtf8(). Character codes greater that 0x07FF were encoded
    incorrectly in UTF-8.
  - New function EwRegisterFlashAreaReader() added to Runtime Environment.
    With this function the user can register callback to be used when
    decompressing bitmap/font pixel data from not directly accessible Flash
    memory. The callback has to load the Flash memory in blocks and return a
    pointer to the loaded memory address.

* Version 9.30
  - The Runtime Environment contains now an own optimized memory manager that
    is tailored for GUI applications on resource constraint embedded systems.
    The Embedded Wizard Heap Manager can now be used instead of TLSF.
  - The Runtime Environment supports now immediate garbage collection.
    By default this feature is disabled for compatibility reasons.
  - The Graphics Engine supports now lazy loading of bitmaps and discarding
    of bitmaps. These new features can be configured by using the new macros:
    - EW_LAZY_LOAD_BITMAPS
    - EW_LAZY_LOAD_BITMAPS_IF_ANIMATED_ONLY
    - EW_DISCARD_BITMAPS
    - EW_DISCARD_BITMAPS_IF_ANIMATED_ONLY
    - EW_DISCARD_BITMAPS_IF_NOT_USED_IN_RECENT_UPDATES
  - The meaning of the macro EW_MAX_SURFACE_CACHE_SIZE has changed due to lazy
    loading and discarding of bitmap resources. Now, EW_MAX_SURFACE_CACHE_SIZE
    defines the threshhold, when bitmaps are discarded from memory.
  - The Graphics Engine target specific files ewextgfx.c/h have been reworked:
    - Unified renaming (Gfx...)
    - The handshake with the display driver is redesigned and the new functions
      EwBspDisplayCommitBuffer() and EwBspDisplayWaitForCompletion() are used.
    - Destroying of surfaces will take care about current usage by hardware
      and flush outstanding operations.
  - The Runtime Environment target specific file ewextrte.c has been reworked:
    - The new Embedded Wizard Heap Manager is used to allocated/free memory.
    - EwGetTicks is now calling the function EwBspClockGetTicks().



Supported Platforms and Color Formats:
--------------------------------------
This Platform Package supports the following chipsets and color formats:

iMX_RT_VGLite : iMX RT VGLite platforms
  + RGBA8888 : 32 bit color format with 8 bit red, 8 bit green, 8 bit blue
               and 8 bit alpha values.
  + RGB565   : 16 bit screen color format with 5 bit red, 6 bit green and 5 bit
               blue values.


Test and Verification Notes:
----------------------------
This Platform Package Release was tested on the following environments:

Version          : 10.00
Platform Package : iMX_RT_VGLite - RGBA8888 / RGB565
Chipset          : i.MXRT1176
Hardware         : IMXRT1170-EVK REV C (B0 chip)
Operating System : FreeRTOS
Software Tree    : MCUXpresso SDK V2.8.1
Compiler/Toolset : GCC / IAR / Keil / MCUXpresso
Test Result      : o.k. - 08/11/20 - msy/mli

