#
# SystemView Description File
#
# Copyright 2019-2025 MicroEJ Corp. All rights reserved.
# This library is provided in source code for use, modification and test, subject to license terms.
# Any modification of the source code will break MicroEJ Corp. warranties on the whole library.

#===========
# NamedTypes 
#===========

NamedType Bool 0=false
NamedType Bool 1=true

# --------------
# MicroUI Events
# --------------

NamedType UIEvent 0=COMMAND
NamedType UIEvent 1=BUTTON
NamedType UIEvent 2=POINTER
NamedType UIEvent 3=STATE
NamedType UIEvent 4=UNKNOWN
NamedType UIEvent 5=CALLSERIALLY
NamedType UIEvent 6=STOP
NamedType UIEvent 7=INPUT
NamedType UIEvent 8=SHOW_DISPLAYABLE
NamedType UIEvent 9=HIDE_DISPLAYABLE
NamedType UIEvent 11=PENDING_FLUSH
NamedType UIEvent 12=FORCE_FLUSH
NamedType UIEvent 13=REPAINT_DISPLAYABLE
NamedType UIEvent 14=REPAINT_CURRENT_DISPLAYABLE
NamedType UIEvent 15=KF_STOP_FEATURE
NamedType UIEvent *="%u"

# ------------
# Image Events
# ------------

NamedType UINewImage 0=MUTABLE_IMAGE
NamedType UINewImage 1=IMAGE_FROM_PATH
NamedType UINewImage 2=IMAGE_FROM_INPUTSTREAM

NamedType UIImageData 0=BUFFER
NamedType UIImageData 1=RAW
NamedType UIImageData 2=ENCODED
NamedType UIImageData 3=RAW_EXTERNAL
NamedType UIImageData 4=ENCODED_EXTERNAL
NamedType UIImageData 5=MEMORY_INPUTSTREAM
NamedType UIImageData 6=BYTEARRAY_INPUTSTREAM
NamedType UIImageData 7=GENERIC_INPUTSTREAM
NamedType UIImageData 8=LINK_IMAGE

# --------------
# Drawing Events
# --------------

NamedType UIDrawAsync 0="Drawing operation done"
NamedType UIDrawAsync 1="Drawing operation delayed"

NamedType UIDestination  *="dest=0x%x"
NamedType UIFlush  *="flush=%u"
NamedType UISource  *="image=0x%x"
NamedType UIDiameter *="diameter=%u"
NamedType UIAlpha *="alpha=%u"
NamedType UIThickness *="thickness=%u"
NamedType UIFade *="fade=%u"
NamedType UIString *="%u characters"

NamedType UIApprox 0="(bilinear)"
NamedType UIApprox 1="(nearest neighbor)"

NamedType UIFlip 0="flip=none"
NamedType UIFlip 1="flip=mirror90"
NamedType UIFlip 2="flip=270"
NamedType UIFlip 3="flip=mirror"
NamedType UIFlip 4="flip=180"
NamedType UIFlip 5="flip=mirror270"
NamedType UIFlip 6="flip=mirror180"
NamedType UIFlip 7="flip=90"

# ------------------
# Old Drawing Events
# ------------------

# Deprecated (kept for backward compatibility UI Pack < 14.4.0)

NamedType UIDrawAlgo 1=WRITE_PIXEL
NamedType UIDrawAlgo 2=DRAW_LINE
NamedType UIDrawAlgo 3=DRAW_HORIZONTALLINE
NamedType UIDrawAlgo 4=DRAW_VERTICALLINE
NamedType UIDrawAlgo 5=DRAW_RECTANGLE
NamedType UIDrawAlgo 6=FILL_RECTANGLE
NamedType UIDrawAlgo 7=UNKNOWN
NamedType UIDrawAlgo 8=DRAW_ROUNDEDRECTANGLE
NamedType UIDrawAlgo 9=FILL_ROUNDEDRECTANGLE
NamedType UIDrawAlgo 10=DRAW_CIRCLEARC
NamedType UIDrawAlgo 11=FILL_CIRCLEARC
NamedType UIDrawAlgo 12=DRAW_ELLIPSEARC
NamedType UIDrawAlgo 13=FILL_ELLIPSEARC
NamedType UIDrawAlgo 14=DRAW_ELLIPSE
NamedType UIDrawAlgo 15=FILL_ELLIPSE
NamedType UIDrawAlgo 16=DRAW_CIRCLE
NamedType UIDrawAlgo 17=FILL_CIRCLE
NamedType UIDrawAlgo 18=DRAW_ARGB
NamedType UIDrawAlgo 19=DRAW_IMAGE
NamedType UIDrawAlgo 20=DRAW_STRING
NamedType UIDrawAlgo 21=STRING_WIDTH

NamedType UIDrawAlgo 50=DRAW_POLYGON
NamedType UIDrawAlgo 51=FILL_POLYGON
NamedType UIDrawAlgo 52=GET_ARGB
NamedType UIDrawAlgo 53=DRAW_STRING
NamedType UIDrawAlgo 54=DRAW_DEFORMED_STRING
NamedType UIDrawAlgo 55=DRAW_DEFORMED_IMAGE
NamedType UIDrawAlgo 56=DRAW_CHAR_ROTATION_BILINEAR
NamedType UIDrawAlgo 57=DRAW_CHAR_ROTATION_SIMPLE
NamedType UIDrawAlgo 58=STRING_WIDTH
NamedType UIDrawAlgo 59=READ_PIXEL

NamedType UIDrawAlgo 100=DRAW_THICK_FADED_POINT
NamedType UIDrawAlgo 101=DRAW_THICK_FADED_LINE
NamedType UIDrawAlgo 102=DRAW_THICK_FADED_CIRCLE
NamedType UIDrawAlgo 103=DRAW_THICK_FADED_CIRCLE_ARC
NamedType UIDrawAlgo 104=DRAW_THICK_FADED_ELLIPSE
NamedType UIDrawAlgo 105=DRAW_THICK_LINE
NamedType UIDrawAlgo 106=DRAW_THICK_CIRCLE
NamedType UIDrawAlgo 107=DRAW_THICK_ELLIPSE
NamedType UIDrawAlgo 108=DRAW_THICK_CIRCLEARC

NamedType UIDrawAlgo 200=DRAW_FLIPPED_IMAGE
NamedType UIDrawAlgo 201=DRAW_ROTATED_IMAGE_NEARESTNEIGHBOR
NamedType UIDrawAlgo 202=DRAW_ROTATED_IMAGE_BILINEAR
NamedType UIDrawAlgo 203=DRAW_SCALED_IMAGE_NEARESTNEIGHBOR
NamedType UIDrawAlgo 204=DRAW_SCALED_IMAGE_BILINEAR
NamedType UIDrawAlgo 205=DRAW_SCALED_STRING_BILINEAR
NamedType UIDrawAlgo 206=DRAW_CHAR_WITH_ROTATION_BILINEAR
NamedType UIDrawAlgo 207=DRAW_CHAR_WITH_ROTATION_NEARESTNEIGHBOR

#=======
# Events
#=======

# ---------------
# MicroUI Library
# ---------------

# [0-9]: 10 events

0        UI_ExecuteGenEvent  type=%UIEvent (generatorID=%u data=0x%x)   | event=%UIEvent done
1        UI_UnknownEvent     drop=0x%x
2        UI_InputEvent       type=%UIEvent (generatorID=%u, event=0x%x) | event=%UIEvent done
3        UI_DisplayEvent     event=%UIEvent (0x%x)                      | event=%UIEvent done
4        UI_UserEvent        event=0x%x                                 | event=0x%x done
5        UI_NewImage         type=%UINewImage                         | id=0x%x
6        UI_ImageData        type=%UINewImage data=%UIImageData id=0x%x size=%u*%u

# -----------------------
# MicroUI Graphics Engine
# -----------------------

# [10-19]: 10 events

# Deprecated (kept for backward compatibility UI Pack < 14.4.0)
10       UI_FlushStart      region=(%u,%u)(%ux%u)
11       UI_FlushDone       flush done
12       UI_DrawInternal    draw=%UIDrawAlgo                   | draw=%UIDrawAlgo done
13       UI_Draw            draw=%UIDrawAlgo                   | draw=%UIDrawAlgo done

15       UI_GPUDrawDone     asynchronous drawing operation done
16       UI_Flush           %UIFlush %UIDestination region=(%u,%u)(%ux%u)
17       UI_FlushDone       %UIFlush %UIDestination

# ---------------------
# MicroUI Events Engine
# ---------------------

# [20-29]: 10 events

20       UI_InvalidEvent    invalid=0x%x
21       UI_QueueFull       drop=0x%x
22       UI_AddEvent        add=0x%x (index=%u queueLength=%u)
23       UI_ReplaceEvent    replace=0x%x by 0x%x (index=%u queueLength=%u)
24       UI_ReadEvent       read=0x%x (index=%u)

# ---------------------
# MicroUI LED Engine
# ---------------------

# [30-39]: 10 events

# ----------------
# MicroUI C Module
# ----------------

# [40-139]: 100 events (see symbol CCO_MICROUI_NB_LOGS)

# Deprecated (kept for backward compatibility UI Pack < 14.4.0)
40       UI_Draw              %UIDrawAlgo  |  %UIDrawAsync
50       BRS_NewRegion        region (%u,%u) to (%u,%u)
53       BRS_AddRegion        (%u,%u) to (%u,%u)
54       BRS_RemoveRegion     (%u,%u) to (%u,%u)
55       BRS_RestoreRegion    (%u,%u) to (%u,%u)
56       BRS_ClearList     

51       BRS_FlushSingleRect  %UIFlush %UIDestination (region (%u,%u) to (%u,%u))
52       BRS_FlushMultiRect   %UIFlush %UIDestination (%u regions)
57       BRS_RestoreRegion    region=(%u,%u)(%ux%u)

60       UI_GetPixel               %UISource %d,%d
61       UI_GetImageARGB           %UISource from %d,%d size=%dx%d
62       UI_StringWidth            %UIString
63       UI_SetForegroundColor     %UIDestination color=0x%x
64       UI_SetBackgroundColor     %UIDestination color=0x%x
65       UI_RemoveBackgroundColor  %UIDestination
# // clip seen as a container (use a START event)
66       UI_SetClip                %UIDestination region=(%u,%u)(%ux%u) | (force START event)
67       UI_OutOfClip              %UIDestination
# // region seen as a drawing (use a STANDALONE event)
68       UI_DrawnRegion            %UIDestination clipDisabled=%Bool region=(%u,%u)(%ux%u)

80       UI_WritePixel            %UIDestination %d,%d | %UIDrawAsync
81       UI_DrawLine              %UIDestination %d,%d to %d,%d | %UIDrawAsync
82       UI_DrawHorizontalLine    %UIDestination %d,%d length=%d | %UIDrawAsync
83       UI_DrawVerticalLine      %UIDestination %d,%d length=%d | %UIDrawAsync
84       UI_DrawRectangle         %UIDestination anchor=%d,%d size=%dx%d | %UIDrawAsync
85       UI_FillRectangle         %UIDestination anchor=%d,%d size=%dx%d | %UIDrawAsync
86       UI_DrawRoundedRectangle  %UIDestination anchor=%d,%d size=%dx%d corner=%dx%d | %UIDrawAsync
87       UI_FillRoundedRectangle  %UIDestination anchor=%d,%d size=%dx%d corner=%dx%d | %UIDrawAsync
88       UI_DrawCircleArc         %UIDestination anchor=%d,%d %UIDiameter start=%d angle=%d | %UIDrawAsync
89       UI_FillCircleArc         %UIDestination anchor=%d,%d %UIDiameter start=%d angle=%d | %UIDrawAsync
90       UI_DrawEllipseArc        %UIDestination anchor=%d,%d size=%dx%d start=%d angle=%d | %UIDrawAsync
91       UI_FillEllipseArc        %UIDestination anchor=%d,%d size=%dx%d start=%d angle=%d | %UIDrawAsync
92       UI_DrawEllipse           %UIDestination anchor=%d,%d size=%dx%d | %UIDrawAsync
93       UI_FillEllipse           %UIDestination anchor=%d,%d size=%dx%d | %UIDrawAsync
94       UI_DrawCircle            %UIDestination anchor=%d,%d %UIDiameter | %UIDrawAsync
95       UI_FillCircle            %UIDestination anchor=%d,%d %UIDiameter | %UIDrawAsync
96       UI_DrawImage             %UIDestination %UISource from %d,%d size=%dx%d anchor=%d,%d %UIAlpha | %UIDrawAsync
97       UI_DrawString            %UIDestination %UIString anchor=%d,%d | %UIDrawAsync
98       UI_DrawRenderableString  %UIDestination %UIString anchor=%d,%d | %UIDrawAsync

110      UI_DrawThickFadedPoint      %UIDestination %d,%d %UIThickness %UIFade | %UIDrawAsync
111      UI_DrawThickFadedLine       %UIDestination %d,%d to %d,%d %UIThickness %UIFade | %UIDrawAsync
112      UI_DrawThickFadedCircle     %UIDestination anchor=%d,%d %UIDiameter %UIThickness %UIFade | %UIDrawAsync
113      UI_DrawThickFadedCircleArc  %UIDestination anchor=%d,%d %UIDiameter start=%d angle=%d %UIThickness %UIFade | %UIDrawAsync
114      UI_DrawThickFadedEllipse    %UIDestination anchor=%d,%d size=%dx%d %UIThickness %UIFade | %UIDrawAsync
115      UI_DrawThickLine            %UIDestination %d,%d to %d,%d %UIThickness | %UIDrawAsync
116      UI_DrawThickCircle          %UIDestination anchor=%d,%d %UIDiameter %UIThickness | %UIDrawAsync
117      UI_DrawThickEllipse         %UIDestination anchor=%d,%d size=%dx%d %UIThickness | %UIDrawAsync
118      UI_DrawThickCircleArc       %UIDestination anchor=%d,%d %UIDiameter start=%d angle=%d %UIThickness %UIFade | %UIDrawAsync
119      UI_DrawPolygon              %UIDestination lenght=%u | %UIDrawAsync
120      UI_FillPolygon              %UIDestination lenght=%u | %UIDrawAsync

130      UI_DrawFlippedImage            %UIDestination %UISource from %d,%d size=%dx%d anchor=%d,%d %UIFlip %UIAlpha | %UIDrawAsync
131      UI_DrawRotatedImage            %UIDestination %UISource anchor=%d,%d center=%d,%d angle=%d %UIAlpha %UIApprox | %UIDrawAsync
132      UI_DrawScaledImage             %UIDestination %UISource anchor=%d,%d factor=%dx%d %UIAlpha %UIApprox | %UIDrawAsync
133      UI_DrawScaledString            %UIDestination %UIString anchor=%d,%d factor=%dx%d %UIApprox | %UIDrawAsync
134      UI_DrawScaledRenderableString  %UIDestination %UIString anchor=%d,%d factor=%dx%d %UIApprox | %UIDrawAsync
135      UI_DrawRotatedCharacter        %UIDestination char=%c anchor=%d,%d center=%d,%d angle=%d %UIAlpha %UIApprox | %UIDrawAsync
136      UI_DrawImageDeformed           %UIDestination %UISource | %UIDrawAsync

