The ScraperSearchComponent uses a custom font size for metadata/descriptions.
This was causing a short hang when it got resized multiple times (because it would rasterize like 4 fonts unnecessarily).
So, I added an "update" parameter to ComponentGrid::setRowHeightPerc/setColWidthPerc.
This can be used to only cause *one* resize/reposition "event" when setting multiple cell sizes (as is typical) by passing "false" as the last argument and then using ComponentGrid::setSize after setting all of the cell sizes.
Some improvements to TextEditComponent:
- cursor now repeats if you hold left/right
- use FONT_PATH_LIGHT instead of regular to match UI concepts
- added some horizontal and vertical padding to the text area
- cursor is a little thinner and not as freakishly tall
borders, work better with nested components, and generally suck less.
Split the scraper screen into a "ScraperSearchComponent" so it can be reused in other menus (what could this possibly mean for the future?!).
Re-designed the ScraperSearchComponent to fit UI concepts.
Added the ability to put a row of buttons at the bottom of a MenuComponent.
Redid GuiMetaDataEd to use a MenuComponent instead of ComponentGrid.
Redid GuiGameScraper to use a ComponentGrid containing a ScraperSearchComponent.
Fixed Renderer::pushClipRect not clipping new rects to be within the bounds of the existing clipRect stack.
A ton of little fixes that I forgot to mention.
It's a good thing I'm the only developer currently, or I would have to actually break this into multiple commits.