Anything with image background should also be able to use a 9-slice
ToggleButton - has pressed/unpressed state, which can be used to trigger something else
can be a solid color, image, or container
Box
color/image/container
for an image or spacing or whatever, most basic element (well..besides Element)
Button - self-explanatory
solid color, image, or container
optional bgToggle (image/color/container to show while button is held)
RoundButton
just like a button, but has extra code to check for click correctly, and you specify different function
Alternately, make some fancy metatable shit so that when a programmer specifies the function, it correctly handles this! (Actually, do both, and warn that the fancy metable shit will break if you change it more than once!)
RadioButton
use an ID (doesn't matter what it is! I suggest strings (will default to auto-assigning numbers ??))
you know how this works, me
make two kinds of radio buttons ? circular default, and square (think of square horiz menus..those are radio buttons!)
DropdownButton - A ToggleButton that automatically arranges a dropdown menu when toggled depending on available space
solid color, image, or container
Grid - For easier alignment/sorting of many objects
solid color or image used for background, IS a container
Menu (actually, call it a list)
a single dimension grid that automatically aligns vertically (or horizontally)
TextBox - For text entry
solid color or image background, can use as container for extra stuff (overlaid search icon for example)
support copy/paste/cut (anything else??)
Scrollbar
vert/horiz, scales slider size based on internal width/height, controls rendering (via canvases) of internals
like a slider, but different..optional top/bottom arrow buttons
TextEdit
more advanced text entry
support same stuff as textbox, but multiline, optional line numbering, scrollbars automatically when text is too big for size
Checkbox - Just a ToggleButton, in fact, this should be the togglebutton, and default
default has state=true/false, uses diff image (or color!) depending on state (btnTrue, btnFalse)
Text
color for text, optional color/image background, can contain things (anything can contain things!)
Alignment is important, word wrap? font selection, all sorts of stuff can be tricky!
Slider
holds a percentage value, can either use 2 bar colors and a slider color, or images for those things
slider thingie is optional, output is pure 0 to 1 percentage
all of the features need to be optional and programmable
they also need to default to overlaying on the video, but can be made to extend area below video for controls
Window
optional minimize/maximize/close buttons, customizable top bar size/style, optional drag-to-resize and drag-to-move
Multibar
any number of different colored/imaged pieces of different percentages of the full size
(think of things like how phones show what files are using storage space)
(EXTENSION)
DatePicker, TimePicker, ColorPicker, Popup (darkens everything under it and blocks input not to it)
Shadow effects! Controller support (including pop-up keyboards for text entry)
Come up with better property names than btnTrue/btnFalse and bgToggle!
Anything with image background should also be able to use a 9-slice
ToggleButton - has pressed/unpressed state, which can be used to trigger something else
Box
Button - self-explanatory
RoundButton
RadioButton
DropdownButton - A ToggleButton that automatically arranges a dropdown menu when toggled depending on available space
Grid - For easier alignment/sorting of many objects
Menu (actually, call it a list)
TextBox - For text entry
Scrollbar
TextEdit
Checkbox - Just a ToggleButton, in fact, this should be the togglebutton, and default
Text
Slider
VideoPlayer
Window
Multibar
(EXTENSION) DatePicker, TimePicker, ColorPicker, Popup (darkens everything under it and blocks input not to it) Shadow effects! Controller support (including pop-up keyboards for text entry)
Come up with better property names than btnTrue/btnFalse and bgToggle!