Age | Commit message (Collapse) | Author | Files | Lines |
|
This is cleaner overall since now each widget type no longer needs to
keep track of its own instances and updating of the GUI alpha. It also
introduces a single point from where the GUI theme support can be
enhanced.
Theme is no longer a singleton, though for now there is a single
instance owned by the Gui singleton.
Widgets adjusted to delegate their painting to the Theme:
* Button
* Tab
* TextField
* CheckBox
* RadioButton
* Slider
* DropDown
* ProgressBar
* ScrollArea
* ResizeGrip
* PlayerBox (by subclassing ScrollArea)
The Window and Popup widgets already use the theme through the Skin
class. They can actually use a different skin per instance, though this
feature is only used by the SpeechBubble.
|
|
All ResourceManager functions that load resources now return respective
ResourceRef values, which helps to make sure resources are properly
cleaned up.
The Sound class was cleaned up and now also allows SoundEffect resources
to be unloaded.
The Animation class now keeps its ImageSet loaded only as long as
necessary. Previously, SimpleAnimation and ParticleEmitter would keep
the ImageSet loaded indefinitely by never decreasing its reference
count.
Reduced duplicated animation loading code between SimpleAnimation and
ParticleEmitter.
|
|
This makes accessing the config values much faster, since it no longer
needs to do a lookup nor string conversion, which means we could remove
some needless copying of the values.
Overall it makes it easier to find out where settings are used and it
puts the defaults along with the declaration.
Options with default values are no longer saved to the config file. This
does not include unrecognized options, which are kept around to provide
some compatibility with older clients.
While most basic options have kept the same name, more complicated
settings like window geometry, shortcuts, outfits, etc. now have their
own XML elements. Older clients will ignore these and erase them when
saving the configuration.
|
|
* Removing unused includes
* Use member initialization
* Use range-based for loops
* Use nullptr
* Removed no longer used aliases
* Use override
* Don't use else after return
* Use '= delete' to remove implicit members
* Use std::string::empty instead of comparing to ""
|
|
|
|
modernize-loop-convert
modernize-deprecated-headers
|
|
* Fixed compiler errors due to dynamic exception specifications
* Replace std::auto_ptr with std::unique_ptr
* Replace std::mem_fun with std::mem_fn
* Prefix for_each with std:: (apparently not needed before)
* Just use lambda instead of std::bind2nd
* Removed usages of std::unary_function
|
|
|
|
Reviewed-by: Yohann Ferreira
|
|
Please note that I didn't turned all the getValue() call into new ones,
simply because I have to have config object initiated which is not
forcefully the case the branding file.
Resolves: Manasource Mantis #170.
|
|
Themes can now control the colors they use. Colors in the Viewport (being
names, particles, etc) can still be changed by the user. Also make
ProgressBars more easily colored. DyePalette was made more flexible in the
process.
Also fixes comparing strings of different lengths insensitively.
Reviewed-by: Thorbjørn Lindeijer
|
|
Also merge the guialpha ConfigListener into Theme.
Reviewed-by: Thorbjørn Lindeijer
|
|
The older gray theme and the new wood theme are available as themes.
The gray theme needs some new graphics for hilights.
Add a theme option for branding and add path/to/branding/data to the
PhysFS search path.
Reviewed-by: Thorbjørn Lindeijer
Reviewed-by: Chuck Miller
|
|
|
|
|
|
performance in ProgressBar logic loops.
Signed-off-by: Tametomo <irarice@gmail.com>
|
|
|
|
Also added the update copyright tool from the Wormux Team.
( And not forgetting credit's due. :P )
|
|
Moved remaining widgets into widgets folder, standardized include order, moved TextRenderer out.
|
|
opacity.
Of course, in-game, the wanted opacity still shows up.
|
|
By wrapping a bit more the values given at load time.
|
|
changed from last window open. The progress bars don't smoothly update the progress when the value is set at load time now. Only the ministatus and the status window are affected by this patch, as they are the onjly ones reported as flooding the gui.
|
|
more space for the numbers on the exp bar
|
|
Sorry about that.
|
|
Also fixed the progress bar during connecting to reset again when full,
by disabling the smooth updating there.
The ProgressBar now uses gcn::Color instead of three separate color
attributes.
|
|
|
|
In an attempt to make the GUI code a little more structured, basic
widgets are now put in gui/widgets. Many includes were also cleaned up.
|