Commit graph

39 commits

Author SHA1 Message Date
Aloshi 98120f9ecd Split into subprojects (external, core, es).
Removed relative paths in #includes.
Changed ViewController to a singleton, removing it from the Window class.
2014-06-20 01:40:36 -05:00
Aloshi 7f62b06d1a Single-line TextComponents now stop at the first newline.
Prevents text going outside of the text area if there's a newline early in a description.
2014-05-21 13:10:39 -05:00
Aloshi b57c6b412c Fix buildTextCache not taking line spacing into account for metrics.
Fix TextComponent's calculateExtent not taking line spacing into account.
2014-05-16 18:13:19 -05:00
Aloshi fe7f7f983b Added <lineSpacing> tag to text elements.
Accessable with TextComponent::setLineSpacing(float spacing) in C++.
2014-05-14 17:02:57 -05:00
Aloshi 5d0df7acf8 Added proper text alignment to the Font class.
Multiline text is now centered/right-aligned correctly.
2014-05-13 13:20:13 -05:00
Aloshi e2458f5d92 Added <forceUppercase> theming tag.
Applies to <text>, <textlist>, and <datetime> elements. See THEMES.md for
details.
2014-05-03 14:51:50 -05:00
Aloshi b4f6f98e1a Fixed RatingComponent height on ScraperSearchComponent.
Removed clip rect for TextComponent.  Needed to set TextComponent texst area size to letter height keep spacing right, but special characters like ()[!] drop lower even when capitalized, and would get cut off.
2014-04-19 16:29:59 -05:00
Aloshi cafa1b5b8d Fixed dpad_all.svg.
Added "DebugText" setting that causes TextComponents to draw a background of their size + the area of their TextCache.
It can be toggled with Ctrl-T when running with --debug.
Added std::cout output when specifying overriding home path.
2014-04-05 12:48:38 -05:00
Aloshi ec4ee70259 Fixed incorrect star texture path.
RatingComponent now rasterizes SVGs to the ideal size.
TextComponent's text is now vertically centered always.
2014-03-22 14:31:13 -05:00
Aloshi f2bd7004e1 Added SVGs for most resources. 2014-03-22 13:04:14 -05:00
Aloshi 9a3b0af337 ComponentList elements can now choose not to be inverted when selected.
TextComponent now has a proper "alignment" setting (left, center, and right).
Did some more styling on GuiMetaDataEd.
2014-03-21 14:51:25 -05:00
Aloshi 07edad611f "Fixed" the long-time weird rendering artifacts that are apparently caused by vertex coordinates not being integers.
A better fix would be to move to OpenGL 3/GLES 2 and do rounding in the shader.  But I don't have time for that.
2014-03-19 15:03:23 -05:00
Aloshi daa62123d1 Changed Font::getHeight to return a float like it should.
Added minimum message height to GuiMsgBox.
TextComponent now vertically centers text.
Fixed a bug that would cause ScraperSearchComponent to return results
continuously until another search was started.
2014-03-19 13:10:30 -05:00
Aloshi bbb8aeeac3 Completely rewrote ComponentGrid to use shared pointers, have support for
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.
2014-03-11 22:00:08 -05:00
Aloshi 1c3135b726 Use checkbox graphics for switches.
Slight optimization to TextComponent (by guaranteeing always having a font).
2014-03-07 19:35:16 -06:00
Aloshi c525d994d3 First implementation of the new ComponentList stuff. 2014-03-01 16:08:21 -06:00
Aloshi 64aaac050f Fix centering of logos in SystemView (text is still a bit wonky).
Added a band beneath the logo carousel to improve visibility.
Revert CMakeLists.txt because I didn't mean to commit it yet.
2014-02-27 15:29:22 -06:00
Aloshi 8eb9800127 Added color tag to ImageComponent (for colorshift).
Changed TextComponent's truncation from ".." to "...".
Updated documentation.
2014-01-23 15:30:32 -06:00
Aloshi fa8e60b7b5 Changed "center" property of textlist to "alignment".
TextListComponent can now be aligned either left, right, or center.
2014-01-21 20:43:33 -06:00
Aloshi 43972c5be9 Added developer, publisher, genre, and number of players metadata.
Updated TheGamesDB scraper to retrieve said metadata, still need to do the
archive.vg scraper.
TextComponent now abbreviates text if the component's size is single-line and the text is too long.
DateTimeComponent now correctly updates its size.
2014-01-19 17:24:56 -06:00
Aloshi e6d0da998b Theme applicators have become the virtual method
GuiComponent::applyTheme(theme, view, element, properties).
Applying fonts works now.
2013-12-31 23:39:22 -06:00
Aloshi 7f46e50688 First part of the theming system rewrite. 2013-12-30 17:23:34 -06:00
Aloshi 0cfa38fcf9 Mostly reimplemented the fast select GUI.
Still not sure how I want to store sort state. I'd kind of like to move
sorting out of the FileData tree altogether and into the display classes.
2013-11-25 14:49:02 -06:00
Aloshi 4b4fff39ef Optimized the hell out of TextListComponent (and TextComponent a bit) 2013-11-21 16:47:35 -06:00
Aloshi e247326b51 Better opacity support for TextComponent 2013-10-10 16:14:33 -05:00
Aloshi b510aa8cd4 Moved ResourceManager to be a singleton.
The character count of the average Font::get decreased by 310%...
2013-10-04 18:10:39 -05:00
Aloshi 3105073e50 Work on scraper UI integration (about there, just need a real scraper
now).
2013-09-19 18:41:14 -05:00
Aloshi 77fb840a4b Added a basic ButtonComponent class. 2013-08-22 15:29:50 -05:00
Aloshi df897c0b5a Finally implemented TextCaches for TextComponent and TextEditComponent.
Huge boost in performance with rendering game descriptions.
(It's About Damn Time (TM))
2013-08-21 20:08:36 -05:00
Aloshi 421797929d New generic metadata backend. 2013-08-14 07:16:49 -05:00
Aloshi 8d78052808 Finally use parenting in GuiGameList.
Added setCentered(bool) to TextComponent.
Fixed Font::sizeWrappedText to return an accurate width.
2013-07-23 01:27:28 -05:00
Aloshi 542d41c682 Move from homegrown Vector2 class to Eigen.
Pass a matrix (Eigen::Affine3f) in GuiComponent::render instead of doing
glTranslate behind the scenes.
2013-07-10 06:29:43 -05:00
Aloshi c8900f4099 Moved to class-individualized static gets for resources.
See issue #95 for discussion.
2013-07-09 00:44:24 -05:00
Aloshi 6b373924d2 Moved Fonts to be Resources.
Moved Renderer::drawText stuff to the Font class.
Fonts are now used as std::shared_ptrs.
2013-07-03 02:54:55 -05:00
Aloshi ed384e057b Move scrolling out of TextComponent and into a generic
ScrollableContainer.
2013-07-02 20:01:58 -05:00
Sir_Leon b4e554153a Moved Opacity logic to GuiComponent
Moved Opacity logic from ImageComponent to GuiComponent so any extender
of GuiComponent che implement its opacity logic.

Implemented Opacity logic for TextComponent (now text can have fade
animation)
2013-07-02 16:51:33 +02:00
Aloshi ec7ad28fdc Finally added scrolling description text. :) 2013-07-02 00:57:31 -05:00
Aloshi 1534cec865 Added ComponentListComponent for laying out elements in a grid and
navigating through them.
Added SliderComponent for selecting from a range of values.
Added SwitchComponent for selecting an "ON" or "OFF" value.
2013-06-18 20:12:30 -05:00
Aloshi 861297ae25 Added initial TextComponent.
Reworked GuiGameList to use a TextComponent for description.
Changed set/clearClipRect to push/popClipRect.
Fixed Y coordinate in the clip rect functions.
Sorta fixed AnimationComponent being totally out of whack with VSync off.
2013-06-14 10:48:13 -05:00