GUI: Fix GCC Compiler Warnings in GUI Theme Parser Code

This removes the usage of memset to clear complex structures and replaces
them with constructor methods for the structures which will be executed
when these are instantiated.
This commit is contained in:
D G Turner 2019-08-17 05:03:04 +01:00
parent a6c5caf1fb
commit d78459f8bc
2 changed files with 19 additions and 2 deletions

View File

@ -50,6 +50,8 @@ struct DrawStep {
struct Color {
uint8 r, g, b;
bool set;
Color () : r(0), g(0), b(0), set(false) {}
};
Color fgColor; /**< Foreground color */
Color bgColor; /**< background color */
@ -85,6 +87,23 @@ struct DrawStep {
uint32 scale; /**< scale of all the coordinates in FIXED POINT with 16 bits mantissa */
GUI::ThemeEngine::AutoScaleMode autoscale; /**< scale alphaimage if present */
DrawStep() {
drawingCall = nullptr;
blitSrc = nullptr;
blitAlphaSrc = nullptr;
// fgColor, bgColor, gradColor1, gradColor2, bevelColor initialized by Color default constructor
autoWidth = autoHeight = false;
x = y = w = h = 0;
// padding initialized by Common::Rect default constructor
xAlign = yAlign = kVectorAlignManual;
shadow = stroke = factor = radius = bevel = 0;
fillMode = 0;
shadowFillMode = 0;
extraData = 0;
scale = 0;
autoscale = GUI::ThemeEngine::kAutoScaleNone;
}
};
VectorRenderer *createRenderer(int mode);

View File

@ -126,8 +126,6 @@ void ThemeParser::cleanup() {
Graphics::DrawStep *ThemeParser::defaultDrawStep() {
Graphics::DrawStep *step = new Graphics::DrawStep;
memset(step, 0, sizeof(Graphics::DrawStep));
step->xAlign = Graphics::DrawStep::kVectorAlignManual;
step->yAlign = Graphics::DrawStep::kVectorAlignManual;
step->factor = 1;