Browse Source

Removed remaining parts of Geomeotries.h/cpp

Ivan Savenko 2 years ago
parent
commit
9be38780cd

+ 1 - 2
client/CMakeLists.txt

@@ -23,7 +23,6 @@ set(client_SRCS
 		gui/CIntObject.cpp
 		gui/ColorFilter.cpp
 		gui/Fonts.cpp
-		gui/Geometries.cpp
 		gui/SDL_Extensions.cpp
 		gui/NotificationHandler.cpp
 		gui/InterfaceObjectConfigurable.cpp
@@ -110,7 +109,7 @@ set(client_HEADERS
 		gui/ColorFilter.h
 		gui/CIntObject.h
 		gui/Fonts.h
-		gui/Geometries.h
+		gui/TextAlignment.h
 		gui/SDL_Compat.h
 		gui/SDL_Extensions.h
 		gui/SDL_Pixels.h

+ 0 - 1
client/CMessage.h

@@ -10,7 +10,6 @@
 #pragma once
 
 #include "Graphics.h"
-#include "gui/Geometries.h"
 
 struct SDL_Surface;
 class CInfoWindow;

+ 1 - 1
client/CVideoHandler.cpp

@@ -442,7 +442,7 @@ bool CVideoPlayer::playVideo(int x, int y, bool stopOnKey)
 		if(stopOnKey && keyDown())
 			return false;
 
-		SDL_Rect rect = Geometry::toSDL(pos);
+		SDL_Rect rect = CSDL_Ext::toSDL(pos);
 
 		SDL_RenderCopy(mainRenderer, texture, nullptr, &rect);
 		SDL_RenderPresent(mainRenderer);

+ 0 - 1
client/Graphics.h

@@ -11,7 +11,6 @@
 
 #include "gui/Fonts.h"
 #include "../lib/GameConstants.h"
-#include "gui/Geometries.h"
 
 VCMI_LIB_NAMESPACE_BEGIN
 

+ 0 - 1
client/battle/BattleAnimationClasses.h

@@ -10,7 +10,6 @@
 #pragma once
 
 #include "../../lib/battle/BattleHex.h"
-#include "../gui/Geometries.h"
 #include "BattleConstants.h"
 
 VCMI_LIB_NAMESPACE_BEGIN

+ 1 - 1
client/battle/BattleEffectsController.h

@@ -10,7 +10,7 @@
 #pragma once
 
 #include "../../lib/battle/BattleHex.h"
-#include "../gui/Geometries.h"
+#include "../../lib/Point.h"
 #include "BattleConstants.h"
 
 VCMI_LIB_NAMESPACE_BEGIN

+ 0 - 1
client/battle/BattleProjectileController.cpp

@@ -15,7 +15,6 @@
 #include "BattleStacksController.h"
 #include "CreatureAnimation.h"
 
-#include "../gui/Geometries.h"
 #include "../gui/CAnimation.h"
 #include "../gui/Canvas.h"
 #include "../gui/CGuiHandler.h"

+ 1 - 2
client/battle/BattleProjectileController.h

@@ -10,7 +10,7 @@
 #pragma once
 
 #include "../../lib/CCreatureHandler.h"
-#include "../gui/Geometries.h"
+#include "../../lib/Point.h"
 
 VCMI_LIB_NAMESPACE_BEGIN
 
@@ -19,7 +19,6 @@ class CSpell;
 
 VCMI_LIB_NAMESPACE_END
 
-class Point;
 class CAnimation;
 class Canvas;
 class BattleInterface;

+ 1 - 1
client/battle/BattleStacksController.h

@@ -9,7 +9,6 @@
  */
 #pragma once
 
-#include "../gui/Geometries.h"
 #include "../gui/ColorFilter.h"
 
 VCMI_LIB_NAMESPACE_BEGIN
@@ -33,6 +32,7 @@ class CreatureAnimation;
 class BattleAnimation;
 class BattleRenderer;
 class IImage;
+class Point;
 
 struct BattleStackFilterEffect
 {

+ 2 - 1
client/gui/CAnimation.h

@@ -10,7 +10,6 @@
 #pragma once
 
 #include "../../lib/vcmi_endian.h"
-#include "Geometries.h"
 #include "../../lib/GameConstants.h"
 
 #ifdef IN
@@ -31,6 +30,8 @@ struct SDL_Surface;
 struct SDL_Color;
 class CDefFile;
 class ColorFilter;
+class Rect;
+class Point;
 
 /*
  * Base class for images, can be used for non-animation pictures as well

+ 1 - 1
client/gui/CGuiHandler.h

@@ -9,7 +9,7 @@
  */
 #pragma once
 
-#include "Geometries.h"
+#include "../../lib/Point.h"
 
 #include <SDL_events.h>
 

+ 2 - 1
client/gui/CIntObject.h

@@ -9,7 +9,7 @@
  */
 #pragma once
 
-#include "Geometries.h"
+#include "../../lib/Rect.h"
 #include "../Graphics.h"
 
 struct SDL_Surface;
@@ -19,6 +19,7 @@ class CPicture;
 struct SDL_KeyboardEvent;
 struct SDL_TextInputEvent;
 struct SDL_TextEditingEvent;
+struct SDL_MouseMotionEvent;
 
 using boost::logic::tribool;
 

+ 0 - 1
client/gui/Canvas.cpp

@@ -11,7 +11,6 @@
 #include "Canvas.h"
 
 #include "SDL_Extensions.h"
-#include "Geometries.h"
 #include "CAnimation.h"
 
 #include "../Graphics.h"

+ 2 - 1
client/gui/Canvas.h

@@ -9,7 +9,8 @@
  */
 #pragma once
 
-#include "Geometries.h"
+#include "TextAlignment.h"
+#include "../../lib/Rect.h"
 
 struct SDL_Color;
 struct SDL_Surface;

+ 1 - 1
client/gui/CursorHandler.h

@@ -15,7 +15,7 @@ struct SDL_Surface;
 struct SDL_Texture;
 struct SDL_Cursor;
 
-#include "Geometries.h"
+#include "../../lib/Point.h"
 
 namespace Cursor
 {

+ 0 - 35
client/gui/Geometries.cpp

@@ -1,35 +0,0 @@
-/*
- * Geometries.cpp, part of VCMI engine
- *
- * Authors: listed in file AUTHORS in main folder
- *
- * License: GNU General Public License v2.0 or later
- * Full text of license available in license.txt file, in main folder
- *
- */
-
-#include "StdInc.h"
-#include "Geometries.h"
-
-#include <SDL_rect.h>
-#include <SDL_events.h>
-
-Rect Geometry::fromSDL(const SDL_Rect & rect)
-{
-	return Rect(Point(rect.x, rect.y), Point(rect.w, rect.h));
-}
-
-SDL_Rect Geometry::toSDL(const Rect & rect)
-{
-	SDL_Rect result;
-	result.x = rect.x;
-	result.y = rect.y;
-	result.w = rect.w;
-	result.h = rect.h;
-	return result;
-}
-
-Point Geometry::fromSDL(const SDL_MouseMotionEvent & motion)
-{
-	return { motion.x, motion.y };
-}

+ 0 - 42
client/gui/Geometries.h

@@ -1,42 +0,0 @@
-/*
- * Geometries.h, part of VCMI engine
- *
- * Authors: listed in file AUTHORS in main folder
- *
- * License: GNU General Public License v2.0 or later
- * Full text of license available in license.txt file, in main folder
- *
- */
-#pragma once
-
-struct SDL_MouseMotionEvent;
-struct SDL_Rect;
-
-#include "../../lib/Point.h"
-#include "../../lib/Rect.h"
-
-VCMI_LIB_NAMESPACE_BEGIN
-class int3;
-VCMI_LIB_NAMESPACE_END
-
-#ifdef VCMI_LIB_NAMESPACE
-using VCMI_LIB_WRAP_NAMESPACE(Rect);
-using VCMI_LIB_WRAP_NAMESPACE(Point);
-#endif
-
-enum class ETextAlignment {TOPLEFT, CENTER, BOTTOMRIGHT};
-
-namespace Geometry
-{
-
-/// creates Point using provided event
-Point fromSDL(const SDL_MouseMotionEvent & motion);
-
-/// creates Rect using provided rect
-Rect fromSDL(const SDL_Rect & rect);
-
-/// creates SDL_Rect using provided rect
-SDL_Rect toSDL(const Rect & rect);
-
-}
-

+ 1 - 0
client/gui/InterfaceObjectConfigurable.h

@@ -11,6 +11,7 @@
 #pragma once
 
 #include "CIntObject.h"
+#include "TextAlignment.h"
 
 #include "../../lib/JsonNode.h"
 

+ 41 - 10
client/gui/SDL_Extensions.cpp

@@ -41,6 +41,37 @@ const SDL_Color Colors::PURPLE = {255, 75, 125, SDL_ALPHA_OPAQUE};
 const SDL_Color Colors::BLACK = {0, 0, 0, SDL_ALPHA_OPAQUE};
 const SDL_Color Colors::TRANSPARENT = {0, 0, 0, SDL_ALPHA_TRANSPARENT};
 
+Rect CSDL_Ext::genRect(const int & hh, const int & ww, const int & xx, const int & yy)
+{
+	Rect ret;
+	ret.h=hh;
+	ret.w=ww;
+	ret.x=xx;
+	ret.y=yy;
+	return ret;
+}
+
+Rect CSDL_Ext::fromSDL(const SDL_Rect & rect)
+{
+	return Rect(Point(rect.x, rect.y), Point(rect.w, rect.h));
+}
+
+SDL_Rect CSDL_Ext::toSDL(const Rect & rect)
+{
+	SDL_Rect result;
+	result.x = rect.x;
+	result.y = rect.y;
+	result.w = rect.w;
+	result.h = rect.h;
+	return result;
+}
+
+Point CSDL_Ext::fromSDL(const SDL_MouseMotionEvent & motion)
+{
+	return { motion.x, motion.y };
+}
+
+
 void CSDL_Ext::setColors(SDL_Surface *surface, SDL_Color *colors, int firstcolor, int ncolors)
 {
 	SDL_SetPaletteColors(surface->format->palette,colors,firstcolor,ncolors);
@@ -73,7 +104,7 @@ void CSDL_Ext::setAlpha(SDL_Surface * bg, int value)
 
 void CSDL_Ext::updateRect(SDL_Surface *surface, const Rect & rect )
 {
-	SDL_Rect rectSDL = Geometry::toSDL(rect);
+	SDL_Rect rectSDL = CSDL_Ext::toSDL(rect);
 	if(0 !=SDL_UpdateTexture(screenTexture, &rectSDL, surface->pixels, surface->pitch))
 		logGlobal->error("%sSDL_UpdateTexture %s", __FUNCTION__, SDL_GetError());
 
@@ -220,8 +251,8 @@ Uint32 CSDL_Ext::getPixel(SDL_Surface *surface, const int & x, const int & y, bo
 template<int bpp>
 int CSDL_Ext::blit8bppAlphaTo24bppT(const SDL_Surface * src, const Rect & srcRectInput, SDL_Surface * dst, const Point & dstPointInput)
 {
-	SDL_Rect srcRectInstance = Geometry::toSDL(srcRectInput);
-	SDL_Rect dstRectInstance = Geometry::toSDL(Rect(dstPointInput, srcRectInput.dimensions()));
+	SDL_Rect srcRectInstance = CSDL_Ext::toSDL(srcRectInput);
+	SDL_Rect dstRectInstance = CSDL_Ext::toSDL(Rect(dstPointInput, srcRectInput.dimensions()));
 
 	SDL_Rect * srcRect =&srcRectInstance;
 	SDL_Rect * dstRect =&dstRectInstance;
@@ -803,8 +834,8 @@ SDL_Surface * CSDL_Ext::scaleSurface(SDL_Surface *surf, int width, int height)
 
 void CSDL_Ext::blitSurface(SDL_Surface * src, const Rect & srcRectInput, SDL_Surface * dst, const Point & dstPoint)
 {
-	SDL_Rect srcRect = Geometry::toSDL(srcRectInput);
-	SDL_Rect dstRect = Geometry::toSDL(Rect(dstPoint, srcRectInput.dimensions()));
+	SDL_Rect srcRect = CSDL_Ext::toSDL(srcRectInput);
+	SDL_Rect dstRect = CSDL_Ext::toSDL(Rect(dstPoint, srcRectInput.dimensions()));
 
 	SDL_UpperBlit(src, &srcRect, dst, &dstRect);
 }
@@ -825,7 +856,7 @@ void CSDL_Ext::fillSurface( SDL_Surface *dst, const SDL_Color & color )
 
 void CSDL_Ext::fillRect( SDL_Surface *dst, const Rect & dstrect, const SDL_Color & color )
 {
-	SDL_Rect newRect = Geometry::toSDL(dstrect);
+	SDL_Rect newRect = CSDL_Ext::toSDL(dstrect);
 
 	uint32_t sdlColor = SDL_MapRGBA(dst->format, color.r, color.g, color.b, color.a);
 	SDL_FillRect(dst, &newRect, sdlColor);
@@ -859,9 +890,9 @@ SDL_Color CSDL_Ext::makeColor(ui8 r, ui8 g, ui8 b, ui8 a)
 
 void CSDL_Ext::startTextInput(const Rect & whereInput)
 {
-	SDL_Rect where = Geometry::toSDL(whereInput);
+	const SDL_Rect where = CSDL_Ext::toSDL(whereInput);
 
-	auto impl = [](SDL_Rect & where)
+	auto impl = [](SDL_Rect where)
 	{
 		if (SDL_IsTextInputActive() == SDL_FALSE)
 		{
@@ -945,7 +976,7 @@ void CSDL_Ext::setDefaultColorKeyPresize(SDL_Surface * surface)
 
 void CSDL_Ext::setClipRect(SDL_Surface * src, const Rect & other)
 {
-	SDL_Rect rect = Geometry::toSDL(other);
+	SDL_Rect rect = CSDL_Ext::toSDL(other);
 
 	SDL_SetClipRect(src, &rect);
 }
@@ -956,7 +987,7 @@ void CSDL_Ext::getClipRect(SDL_Surface * src, Rect & other)
 
 	SDL_GetClipRect(src, &rect);
 
-	other = Geometry::fromSDL(rect);
+	other = CSDL_Ext::fromSDL(rect);
 }
 
 

+ 12 - 10
client/gui/SDL_Extensions.h

@@ -11,8 +11,8 @@
 #pragma once
 #include <SDL_render.h>
 #include <SDL_events.h>
-#include "Geometries.h"
 #include "../../lib/GameConstants.h"
+#include "../../lib/Rect.h"
 
 struct SDL_Window;
 struct SDL_Renderer;
@@ -26,6 +26,7 @@ extern SDL_Texture * screenTexture;
 extern SDL_Surface * screen, *screen2, *screenBuf;
 
 class Rect;
+class Point;
 
 /**
  * The colors class defines color constants of type SDL_Color.
@@ -68,6 +69,15 @@ public:
 namespace CSDL_Ext
 {
 
+/// creates Point using provided event
+Point fromSDL(const SDL_MouseMotionEvent & motion);
+
+/// creates Rect using provided rect
+Rect fromSDL(const SDL_Rect & rect);
+
+/// creates SDL_Rect using provided rect
+SDL_Rect toSDL(const Rect & rect);
+
 void setColors(SDL_Surface *surface, SDL_Color *colors, int firstcolor, int ncolors);
 void warpMouse(int x, int y);
 bool isCtrlKeyDown();
@@ -95,15 +105,7 @@ std::string makeNumberShort(IntType number, IntType maxLength = 3) //the output
 	return boost::lexical_cast<std::string>(number) + *iter;
 }
 
-inline Rect genRect(const int & hh, const int & ww, const int & xx, const int & yy)
-{
-	Rect ret;
-	ret.h=hh;
-	ret.w=ww;
-	ret.x=xx;
-	ret.y=yy;
-	return ret;
-}
+Rect genRect(const int & hh, const int & ww, const int & xx, const int & yy);
 
 typedef void (*TColorPutter)(Uint8 *&ptr, const Uint8 & R, const Uint8 & G, const Uint8 & B);
 typedef void (*TColorPutterAlpha)(Uint8 *&ptr, const Uint8 & R, const Uint8 & G, const Uint8 & B, const Uint8 & A);

+ 12 - 0
client/gui/TextAlignment.h

@@ -0,0 +1,12 @@
+/*
+ * TextAlignment.h, part of VCMI engine
+ *
+ * Authors: listed in file AUTHORS in main folder
+ *
+ * License: GNU General Public License v2.0 or later
+ * Full text of license available in license.txt file, in main folder
+ *
+ */
+#pragma once
+
+enum class ETextAlignment {TOPLEFT, CENTER, BOTTOMRIGHT};

+ 1 - 1
client/mapHandler.h

@@ -12,7 +12,7 @@
 
 #include "../lib/int3.h"
 #include "../lib/spells/ViewSpellInt.h"
-#include "gui/Geometries.h"
+#include "../lib/Rect.h"
 #include "SDL.h"
 
 #ifdef IN

+ 2 - 2
client/widgets/AdventureMapClasses.cpp

@@ -237,7 +237,7 @@ void CHeroList::CHeroItem::open()
 
 void CHeroList::CHeroItem::showTooltip()
 {
-	CRClickPopup::createAndPush(hero, Geometry::fromSDL(GH.current->motion));
+	CRClickPopup::createAndPush(hero, CSDL_Ext::fromSDL(GH.current->motion));
 }
 
 std::string CHeroList::CHeroItem::getHoverText()
@@ -329,7 +329,7 @@ void CTownList::CTownItem::open()
 
 void CTownList::CTownItem::showTooltip()
 {
-	CRClickPopup::createAndPush(town, Geometry::fromSDL(GH.current->motion));
+	CRClickPopup::createAndPush(town, CSDL_Ext::fromSDL(GH.current->motion));
 }
 
 std::string CTownList::CTownItem::getHoverText()

+ 1 - 0
client/widgets/TextControls.h

@@ -10,6 +10,7 @@
 #pragma once
 
 #include "../gui/CIntObject.h"
+#include "../gui/TextAlignment.h"
 #include "../gui/SDL_Extensions.h"
 #include "../../lib/FunctionList.h"
 

+ 1 - 1
client/windows/CAdvmapInterface.cpp

@@ -1814,7 +1814,7 @@ void CAdvMapInt::tileRClicked(const int3 &mapPos)
 		return;
 	}
 
-	CRClickPopup::createAndPush(obj, Geometry::fromSDL(GH.current->motion), ETextAlignment::CENTER);
+	CRClickPopup::createAndPush(obj, CSDL_Ext::fromSDL(GH.current->motion), ETextAlignment::CENTER);
 }
 
 void CAdvMapInt::enterCastingMode(const CSpell * sp)

+ 1 - 1
client/windows/InfoWindows.cpp

@@ -306,7 +306,7 @@ void CRClickPopup::createAndPush(const std::string &txt, const CInfoWindow::TCom
 		player = PlayerColor(1);
 
 	auto temp = std::make_shared<CInfoWindow>(txt, player, comps);
-	temp->center(Geometry::fromSDL(GH.current->motion)); //center on mouse
+	temp->center(CSDL_Ext::fromSDL(GH.current->motion)); //center on mouse
 #ifdef VCMI_IOS
     // TODO: enable also for android?
     temp->moveBy({0, -temp->pos.h / 2});

+ 1 - 0
client/windows/InfoWindows.h

@@ -10,6 +10,7 @@
 #pragma once
 
 #include "CWindowObject.h"
+#include "../gui/TextAlignment.h"
 #include "../../lib/FunctionList.h"
 
 VCMI_LIB_NAMESPACE_BEGIN