diff options
| author | Jordi Vilalta Prat | 2008-12-22 11:22:15 +0000 | 
|---|---|---|
| committer | Jordi Vilalta Prat | 2008-12-22 11:22:15 +0000 | 
| commit | b1999a2a16b83aa031df2ce1cb266b7fea8847da (patch) | |
| tree | a042bbc975ead7e8b38243d0d25822d70e72fe69 /gui/ThemeParser.cpp | |
| parent | 2ec51ef3585d9450ddf21cff9212c0bc7f0b6a3f (diff) | |
| download | scummvm-rg350-b1999a2a16b83aa031df2ce1cb266b7fea8847da.tar.gz scummvm-rg350-b1999a2a16b83aa031df2ce1cb266b7fea8847da.tar.bz2 scummvm-rg350-b1999a2a16b83aa031df2ce1cb266b7fea8847da.zip | |
Fixed indentation and removed whitespaces at the end of line
svn-id: r35481
Diffstat (limited to 'gui/ThemeParser.cpp')
| -rw-r--r-- | gui/ThemeParser.cpp | 214 | 
1 files changed, 107 insertions, 107 deletions
| diff --git a/gui/ThemeParser.cpp b/gui/ThemeParser.cpp index bbcfc6302e..1a82671c7b 100644 --- a/gui/ThemeParser.cpp +++ b/gui/ThemeParser.cpp @@ -38,8 +38,8 @@  namespace GUI { -ThemeParser::ThemeParser(ThemeEngine *parent) : XMLParser() {	 -	 +ThemeParser::ThemeParser(ThemeEngine *parent) : XMLParser() { +  	_drawFunctions["circle"]  = &Graphics::VectorRenderer::drawCallback_CIRCLE;  	_drawFunctions["square"]  = &Graphics::VectorRenderer::drawCallback_SQUARE;  	_drawFunctions["roundedsq"]  = &Graphics::VectorRenderer::drawCallback_ROUNDSQ; @@ -75,7 +75,7 @@ void ThemeParser::cleanup() {  Graphics::DrawStep *ThemeParser::defaultDrawStep() {  	Graphics::DrawStep *step = new Graphics::DrawStep; -	 +  	memset(step, 0, sizeof(Graphics::DrawStep));  	step->xAlign = Graphics::DrawStep::kVectorAlignManual; @@ -121,9 +121,9 @@ bool ThemeParser::parserCallback_defaults(ParserNode *node) {  	return parseDrawStep(node, step, false);  } -bool ThemeParser::parserCallback_font(ParserNode *node) {		 +bool ThemeParser::parserCallback_font(ParserNode *node) {  	int red, green, blue; -	 +  	if (resolutionCheck(node->values["resolution"]) == false) {  		node->ignore = true;  		return true; @@ -133,15 +133,15 @@ bool ThemeParser::parserCallback_font(ParserNode *node) {  		getPaletteColor(node->values["color"], red, green, blue);  	else if (!parseIntegerKey(node->values["color"].c_str(), 3, &red, &green, &blue))  		return parserError("Error parsing color value for font definition."); -	 +  	if (!_theme->addFont(node->values["id"], node->values["file"], red, green, blue))  		return parserError("Error loading Font in theme engine."); -		 +  	return true;  } -bool ThemeParser::parserCallback_fonts(ParserNode *node) {		 -	return true;	 +bool ThemeParser::parserCallback_fonts(ParserNode *node) { +	return true;  }  bool ThemeParser::parserCallback_cursor(ParserNode *node) { @@ -149,18 +149,18 @@ bool ThemeParser::parserCallback_cursor(ParserNode *node) {  		node->ignore = true;  		return true;  	} -	 +  	int spotx, spoty, scale; -	 +  	if (!parseIntegerKey(node->values["hotspot"].c_str(), 2, &spotx, &spoty))  		return parserError("Error parsing cursor Hot Spot coordinates."); -		 +  	if (!parseIntegerKey(node->values["scale"].c_str(), 1, &scale))  		return parserError("Error parsing cursor scale."); -		 +  	if (!_theme->createCursor(node->values["file"], spotx, spoty, scale))  		return parserError("Error creating Bitmap Cursor."); -		 +  	return true;  } @@ -169,17 +169,17 @@ bool ThemeParser::parserCallback_bitmap(ParserNode *node) {  		node->ignore = true;  		return true;  	} -	 +  	if (!_theme->addBitmap(node->values["filename"]))  		return parserError("Error loading Bitmap file '%s'", node->values["filename"].c_str()); -		 +  	return true;  } -bool ThemeParser::parserCallback_text(ParserNode *node) {		 +bool ThemeParser::parserCallback_text(ParserNode *node) {  	Graphics::TextAlign alignH;  	GUI::ThemeEngine::TextAlignVertical alignV; -		 +  	if (node->values["horizontal_align"] == "left")  		alignH = Graphics::kTextAlignLeft;  	else if (node->values["horizontal_align"] == "right") @@ -187,7 +187,7 @@ bool ThemeParser::parserCallback_text(ParserNode *node) {  	else if (node->values["horizontal_align"] == "center")  		alignH = Graphics::kTextAlignCenter;  	else return parserError("Invalid value for text alignment."); -	 +  	if (node->values["vertical_align"] == "top")  		alignV = GUI::ThemeEngine::kTextAlignVTop;  	else if (node->values["vertical_align"] == "center") @@ -195,7 +195,7 @@ bool ThemeParser::parserCallback_text(ParserNode *node) {  	else if (node->values["vertical_align"] == "bottom")  		alignV = GUI::ThemeEngine::kTextAlignVBottom;  	else return parserError("Invalid value for text alignment."); -	 +  	if (!_theme->addTextData(getParentNode(node)->values["id"], node->values["font"], alignH, alignV))  		return parserError("Error adding Text Data for '%s'.", getParentNode(node)->values["id"].c_str()); @@ -205,14 +205,14 @@ bool ThemeParser::parserCallback_text(ParserNode *node) {  bool ThemeParser::parserCallback_render_info(ParserNode *node) {  	if (resolutionCheck(node->values["resolution"]) == false)  		node->ignore = true; -		 +  	return true;  }  bool ThemeParser::parserCallback_layout_info(ParserNode *node) {  	if (resolutionCheck(node->values["resolution"]) == false)  		node->ignore = true; -		 +  	return true;  } @@ -243,7 +243,7 @@ bool ThemeParser::parserCallback_color(ParserNode *node) {  bool ThemeParser::parserCallback_drawstep(ParserNode *node) {  	Graphics::DrawStep *drawstep = newDrawStep(); -	Common::String functionName = node->values["func"];  +	Common::String functionName = node->values["func"];  	if (_drawFunctions.contains(functionName) == false)  		return parserError("%s is not a valid drawing function name", functionName.c_str()); @@ -261,14 +261,14 @@ bool ThemeParser::parserCallback_drawstep(ParserNode *node) {  bool ThemeParser::parserCallback_drawdata(ParserNode *node) {  	bool cached = false; -	 +  	if (resolutionCheck(node->values["resolution"]) == false) {  		node->ignore = true;  		return true;  	}  	if (node->values.contains("cache")) { -		if (node->values["cache"] == "true")  +		if (node->values["cache"] == "true")  			cached = true;  		else if (node->values["cache"] == "false")  			cached = false; @@ -350,13 +350,13 @@ bool ThemeParser::parseDrawStep(ParserNode *stepNode, Graphics::DrawStep *drawst  	if (functionSpecific) {  		assert(stepNode->values.contains("func"));  		Common::String functionName = stepNode->values["func"]; -		 +  		if (functionName == "bitmap") {  			if (!stepNode->values.contains("file"))  				return parserError("Need to specify a filename for Bitmap blitting."); -				 +  			drawstep->blitSrc = _theme->getBitmap(stepNode->values["file"]); -				 +  			if (!drawstep->blitSrc)  				return parserError("The given filename hasn't been loaded into the GUI.");  		} @@ -391,20 +391,20 @@ bool ThemeParser::parseDrawStep(ParserNode *stepNode, Graphics::DrawStep *drawst  		if (stepNode->values.contains("size")) {  			warning("The <size> keyword has been deprecated. Use <width> and <height> instead");  		} -		 +  		if (stepNode->values.contains("width") && stepNode->values["width"] != "auto") {  			drawstep->autoWidth = false; -			 +  			val = stepNode->values["width"];  			if (parseIntegerKey(val.c_str(), 1, &x))  				drawstep->w = x;  			else if (val == "height")  				drawstep->w = -1;  			else return parserError("Invalid value for vector width."); -			 +  			if (stepNode->values.contains("xpos")) {  				val = stepNode->values["xpos"]; -				 +  				if (parseIntegerKey(val.c_str(), 1, &x))  					drawstep->x = x;  				else if (val == "center") @@ -413,16 +413,16 @@ bool ThemeParser::parseDrawStep(ParserNode *stepNode, Graphics::DrawStep *drawst  					drawstep->xAlign = Graphics::DrawStep::kVectorAlignLeft;  				else if (val == "right")  					drawstep->xAlign = Graphics::DrawStep::kVectorAlignRight; -				else  +				else  					return parserError("Invalid value for X Position");  			} else {  				return parserError("When width is not set to 'auto', a <xpos> tag must be included.");  			}  		} -		 +  		if (stepNode->values.contains("height") && stepNode->values["height"] != "auto") {  			drawstep->autoHeight = false; -			 +  			val = stepNode->values["height"];  			if (parseIntegerKey(val.c_str(), 1, &x))  				drawstep->h = x; @@ -432,7 +432,7 @@ bool ThemeParser::parseDrawStep(ParserNode *stepNode, Graphics::DrawStep *drawst  			if (stepNode->values.contains("ypos")) {  				val = stepNode->values["ypos"]; -				 +  				if (parseIntegerKey(val.c_str(), 1, &x))  					drawstep->y = x;  				else if (val == "center") @@ -441,13 +441,13 @@ bool ThemeParser::parseDrawStep(ParserNode *stepNode, Graphics::DrawStep *drawst  					drawstep->yAlign = Graphics::DrawStep::kVectorAlignTop;  				else if (val == "bottom")  					drawstep->yAlign = Graphics::DrawStep::kVectorAlignBottom; -				else  +				else  					return parserError("Invalid value for Y Position");  			} else {  				return parserError("When height is not set to 'auto', a <ypos> tag must be included.");  			}  		} -		 +  		if (drawstep->h == -1 && drawstep->w == -1)  			return parserError("Cross-reference in Vector Size: Height is set to width and width is set to height.");  	} @@ -477,30 +477,30 @@ bool ThemeParser::parserCallback_def(ParserNode *node) {  		node->ignore = true;  		return true;  	} -	 +  	Common::String var = "Globals." + node->values["var"];  	int value; -	 +  	if (_theme->getEvaluator()->hasVar(node->values["value"]) == true)  		value = _theme->getEvaluator()->getVar(node->values["value"]); -	 +  	else if (!parseIntegerKey(node->values["value"].c_str(), 1, &value))  		return parserError("Invalid definition for '%s'.", var.c_str()); -		 +  	_theme->getEvaluator()->setVar(var, value); -	return true;	 +	return true;  }  bool ThemeParser::parserCallback_widget(ParserNode *node) {  	Common::String var; -	 +  	if (getParentNode(node)->name == "globals") { -		 +  		if (resolutionCheck(node->values["resolution"]) == false) {  			node->ignore = true;  			return true;  		} -		 +  		var = "Globals." + node->values["name"] + ".";  		if (!parseCommonLayoutProps(node, var))  			return parserError("Error parsing Layout properties of '%s'.", var.c_str()); @@ -517,24 +517,24 @@ bool ThemeParser::parserCallback_widget(ParserNode *node) {  			else if (node->values["enabled"] != "true")  				return parserError("Invalid value for Widget enabling (expecting true/false)");  		} -		 +  		if (node->values.contains("width")) {  			if (_theme->getEvaluator()->hasVar(node->values["width"]) == true)  				width = _theme->getEvaluator()->getVar(node->values["width"]); -				 +  			else if (!parseIntegerKey(node->values["width"].c_str(), 1, &width))  				return parserError("Corrupted width value in key for %s", var.c_str());  		} -		 +  		if (node->values.contains("height")) {  			if (_theme->getEvaluator()->hasVar(node->values["height"]) == true)  				height = _theme->getEvaluator()->getVar(node->values["height"]); -				 +  			else if (!parseIntegerKey(node->values["height"].c_str(), 1, &height))  				return parserError("Corrupted height value in key for %s", var.c_str());  		} -		 -		_theme->getEvaluator()->addWidget(var, width, height, node->values["type"], enabled);	 + +		_theme->getEvaluator()->addWidget(var, width, height, node->values["type"], enabled);  	}  	return true; @@ -544,26 +544,26 @@ bool ThemeParser::parserCallback_dialog(ParserNode *node) {  	Common::String var = "Dialog." + node->values["name"];  	bool enabled = true;  	int inset = 0; -	 +  	if (resolutionCheck(node->values["resolution"]) == false) {  		node->ignore = true;  		return true;  	} -	 +  	if (node->values.contains("enabled")) {  		if (node->values["enabled"] == "false")  			enabled = false;  		else if (node->values["enabled"] != "true")  			return parserError("Invalid value for Dialog enabling (expecting true/false)");  	} -	 +  	if (node->values.contains("inset")) {  		if (!parseIntegerKey(node->values["inset"].c_str(), 1, &inset))  			return false;  	} -	 +  	_theme->getEvaluator()->addDialog(var, node->values["overlays"], enabled, inset); -	 +  	if (node->values.contains("shading")) {  		int shading = 0;  		if (node->values["shading"] == "dim") @@ -571,15 +571,15 @@ bool ThemeParser::parserCallback_dialog(ParserNode *node) {  		else if (node->values["shading"] == "luminance")  			shading = 2;  		else return parserError("Invalid value for Dialog background shading."); -		 +  		_theme->getEvaluator()->setVar(var + ".Shading", shading);  	} -		 +  	return true;  }  bool ThemeParser::parserCallback_import(ParserNode *node) { -	 +  	if (!_theme->getEvaluator()->addImportedLayout(node->values["layout"]))  		return parserError("Error importing external layout");  	return true; @@ -587,12 +587,12 @@ bool ThemeParser::parserCallback_import(ParserNode *node) {  bool ThemeParser::parserCallback_layout(ParserNode *node) {  	int spacing = -1; -	 +  	if (node->values.contains("spacing")) {  		if (!parseIntegerKey(node->values["spacing"].c_str(), 1, &spacing))  			return false;  	} -	 +  	if (node->values["type"] == "vertical")  		_theme->getEvaluator()->addLayout(GUI::ThemeLayout::kLayoutVertical, spacing, node->values["center"] == "true");  	else if (node->values["type"] == "horizontal") @@ -603,27 +603,27 @@ bool ThemeParser::parserCallback_layout(ParserNode *node) {  	if (node->values.contains("padding")) {  		int paddingL, paddingR, paddingT, paddingB; -		 +  		if (!parseIntegerKey(node->values["padding"].c_str(), 4, &paddingL, &paddingR, &paddingT, &paddingB))  			return false; -		 +  		_theme->getEvaluator()->addPadding(paddingL, paddingR, paddingT, paddingB);  	} -	 +  	return true;  }  bool ThemeParser::parserCallback_space(ParserNode *node) {  	int size = -1; -	 +  	if (node->values.contains("size")) {  		if (_theme->getEvaluator()->hasVar(node->values["size"]))  			size = _theme->getEvaluator()->getVar(node->values["size"]); -			 +  		else if (!parseIntegerKey(node->values["size"].c_str(), 1, &size))  			return parserError("Invalid value for Spacing size.");  	} -			 +  	_theme->getEvaluator()->addSpace(size);  	return true;  } @@ -633,151 +633,151 @@ bool ThemeParser::closedKeyCallback(ParserNode *node) {  		_theme->getEvaluator()->closeLayout();  	else if (node->name == "dialog")  		_theme->getEvaluator()->closeDialog(); -		 +  	return true;  }  bool ThemeParser::parseCommonLayoutProps(ParserNode *node, const Common::String &var) {  	if (node->values.contains("size")) {  		int width, height; -		 +  		if (!parseIntegerKey(node->values["size"].c_str(), 2, &width, &height)) {  			Common::StringTokenizer tokenizer(node->values["size"], " ,");  			Common::String wtoken, htoken;  			char *parseEnd; -			 +  			wtoken = tokenizer.nextToken(); -			 +  			if (_theme->getEvaluator()->hasVar(wtoken)) {  				width = _theme->getEvaluator()->getVar(wtoken);  			} else {  				width = strtol(wtoken.c_str(), &parseEnd, 10); -				 +  				if (*parseEnd != 0 && !(*parseEnd == '%' && *(parseEnd + 1) == 0))  					return false; -				 +  				if (wtoken.lastChar() == '%')  					width = g_system->getOverlayWidth() * width / 100;  			} -			 +  			htoken = tokenizer.nextToken(); -			 +  			if (_theme->getEvaluator()->hasVar(htoken)) {  				height = _theme->getEvaluator()->getVar(htoken);  			} else {  				height = strtol(htoken.c_str(), &parseEnd, 10); -				 +  				if (*parseEnd != 0 && !(*parseEnd == '%' && *(parseEnd + 1) == 0))  					return false; -				 +  				if (htoken.lastChar() == '%')  					height = g_system->getOverlayHeight() * height / 100;  			} -			 +  			if (!tokenizer.empty())  				return false;  		} -			 -		 + +  		_theme->getEvaluator()->setVar(var + "Width", width);  		_theme->getEvaluator()->setVar(var + "Height", height);  	} -	 +  	if (node->values.contains("pos")) {  		int x, y; -		 +  		if (!parseIntegerKey(node->values["pos"].c_str(), 2, &x, &y)) {  			Common::StringTokenizer tokenizer(node->values["pos"], " ,");  			Common::String xpos, ypos;  			char *parseEnd; -			 +  			xpos = tokenizer.nextToken(); -			 +  			if (xpos == "center") {  				if (!_theme->getEvaluator()->hasVar(var + "Width"))  					return false; -					 +  				x = (g_system->getOverlayWidth() / 2) - (_theme->getEvaluator()->getVar(var + "Width") / 2); -				 +  			} else if (_theme->getEvaluator()->hasVar(xpos)) {  				x = _theme->getEvaluator()->getVar(xpos);  			} else {  				x = strtol(xpos.c_str(), &parseEnd, 10); -				 +  				if (*parseEnd != 0 && !(*parseEnd == 'r' && *(parseEnd + 1) == 0))  					return false; -				 +  				if (xpos.lastChar() == 'r')  					x = g_system->getOverlayWidth() - x; -			}	 -			 +			} +  			ypos = tokenizer.nextToken(); -			 +  			if (ypos == "center") {  				if (!_theme->getEvaluator()->hasVar(var + "Height"))  					return false; -					 +  				y = (g_system->getOverlayHeight() / 2) - (_theme->getEvaluator()->getVar(var + "Height") / 2); -				 +  			} else if (_theme->getEvaluator()->hasVar(ypos)) {  				y = _theme->getEvaluator()->getVar(ypos);  			} else {  				y = strtol(ypos.c_str(), &parseEnd, 10); -				 +  				if (*parseEnd != 0 && !(*parseEnd == 'b' && *(parseEnd + 1) == 0))  					return false; -				 +  				if (ypos.lastChar() == 'b')  					y = g_system->getOverlayHeight() - y;  			} -			 +  			if (!tokenizer.empty())  				return false;  		} -		 +  		_theme->getEvaluator()->setVar(var + "X", x);  		_theme->getEvaluator()->setVar(var + "Y", y);  	} -	 +  	if (node->values.contains("padding")) {  		int paddingL, paddingR, paddingT, paddingB; -		 +  		if (!parseIntegerKey(node->values["padding"].c_str(), 4, &paddingL, &paddingR, &paddingT, &paddingB))  			return false; -		 +  		_theme->getEvaluator()->setVar(var + "Padding.Left", paddingL);  		_theme->getEvaluator()->setVar(var + "Padding.Right", paddingR);  		_theme->getEvaluator()->setVar(var + "Padding.Top", paddingT);  		_theme->getEvaluator()->setVar(var + "Padding.Bottom", paddingB);  	} -	 +  	return true;  }  bool ThemeParser::resolutionCheck(const Common::String &resolution) {  	if (resolution.empty())  		return true; -		 +  	Common::StringTokenizer globTokenizer(resolution, ", ");  	Common::String cur, w, h;  	bool definedRes = false; -	 +  	while (!globTokenizer.empty()) {  		bool ignore = false;  		cur = globTokenizer.nextToken(); -		 +  		if (cur[0] == '-') {  			ignore = true;  			cur.deleteChar(0);  		} else {  			definedRes = true;  		} -		 +  		Common::StringTokenizer resTokenizer(cur, "x");  		w = resTokenizer.nextToken();  		h = resTokenizer.nextToken(); -		if ((w == "X" || atoi(w.c_str()) == g_system->getOverlayWidth()) &&  +		if ((w == "X" || atoi(w.c_str()) == g_system->getOverlayWidth()) &&  			(h == "Y" || atoi(h.c_str()) == g_system->getOverlayHeight()))  			return !ignore;  	} | 
