Not finished yet but here's some examples of Dialogs.
They by default autosize (height only) to the content and buttons that exist, although this part of code needs tidying up a bit. You also have the option to stack the buttons. I haven't got buttons aligning to the centre yet but I was working from this page where they're all aligned to the right. They also auto position to the centre of the screen when shown and all other actions like scrolling of the screen is disabled until the alert is closed. There's a faded black sprite covering the background behind the alert which the below site calls a Scrim.
https://material.io/design/components/dialogs.html#specs
Here's the code that creates each 3 versions. The last two look a bit bad with the colours chosen, but wanted to show that all of it should be customisable. You can make the button backgrounds the same colour as the alert window if you wish like example 1. If there's a picture in the background you would have to make them transparent instead.
Example 1
dialog1 = OryUICreateDialog("titleText:Reset device?;supportingText:This will reset your device to its default factory settings;autoHeight:true")
OryUIInsertDialogButton(dialog1, -1, "text:CANCEL")
OryUIInsertDialogButton(dialog1, -1, "text:ACCEPT")
OryUIShowDialog(dialog1)
do
OryUIInsertDialogListener(dialog1)
Sync()
loop
Example 2
dialog2 = OryUICreateDialog("color:255,234,167,255;titleText:Use Lorem Ipsum?;titleTextColor:232,67,147,255;supportingText:Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas viverra tellus in mi mollis egestas. Suspendisse blandit, est ut varius tincidunt, justo lectus placerat leo, eu laoreet odio felis dignissim quam. Aliquam ultrices varius eros, ultricies accumsan massa mollis quis. Proin sit amet egestas lacus, ac aliquet orci. Pellentesque venenatis justo ullamcorper arcu rutrum, nec vestibulum eros egestas. Proin viverra eu felis sit amet consectetur. Nunc eu enim eu mauris congue ultricies nec eget lacus.;supportingTextColor:225,112,85,255;autoHeight:true")
OryUIInsertDialogButton(dialog2, -1, "textColor:214,48,49;color:253,203,110,255;text:No")
OryUIInsertDialogButton(dialog2, -1, "textColor:214,48,49;color:253,203,110,255;text:Not Sure")
OryUIInsertDialogButton(dialog2, -1, "textColor:214,48,49;color:253,203,110,255;text:Yes")
do
OryUIInsertDialogListener(dialog2)
Sync()
loop
Example 3 (background image was taken from pixabay)
imgBackground = LoadImage("paper-texture.jpg")
dialog3 = OryUICreateDialog("titleText:Buy coins?;image:" + str(imgBackground) + ";supportingText:Coins help you get further than your friends and buys us coffees...;stackButtons:true;autoHeight:true")
OryUIInsertDialogButton(dialog3, -1, "color:255,255,255,128;text:Buy 500 coins £1.99")
OryUIInsertDialogButton(dialog3, -1, "color:255,255,255,128;text:Buy 5,000 coins £4.99")
OryUIInsertDialogButton(dialog3, -1, "color:255,255,255,128;text:Buy 10,000 coins £7.99")
OryUIInsertDialogButton(dialog3, -1, "color:255,255,255,128;text:Buy 100,000 coins £19.99")
OryUIInsertDialogButton(dialog3, -1, "color:255,255,255,128;text:No thanks")
OryUIShowDialog(dialog3)
do
OryUIInsertDialogListener(dialog3)
Sync()
loop
My current app has similar dialogs that also shows a "Do not show again" tickbox message, so I will get that into the framework as well.
What's the appropriate word or name for making all buttons on the same row the same width and to fit to main parent width, in this case the dialog window? Looking for a good parameter name to use for this as it's going to be an easy thing to do, just can't think of a suitable and descriptive name to use.
EDIT: It's called 'flex' in CSS so I called it flexButtons and have uploaded 3 more images (examples 4, 5, and 6) which show flexButtons set as true
OryUI - A WIP AGK2 UI Framework