From 7af70b394fccbc20a906f653b75f3c9733711b43 Mon Sep 17 00:00:00 2001 From: Danilo Date: Sun, 19 May 2024 16:11:34 -0300 Subject: [PATCH] =?UTF-8?q?Cria=20arquivo=20de=20implementa=C3=A7=C3=B5es?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- framework/platform/sprite-dx.cpp | 11 ++--------- inc/graphics/sprite.hpp | 4 ++-- inc/platform-dx/implementations.hpp | 18 ++++++++++++++++++ 3 files changed, 22 insertions(+), 11 deletions(-) create mode 100644 inc/platform-dx/implementations.hpp diff --git a/framework/platform/sprite-dx.cpp b/framework/platform/sprite-dx.cpp index 4d9be14..5d3b077 100644 --- a/framework/platform/sprite-dx.cpp +++ b/framework/platform/sprite-dx.cpp @@ -8,6 +8,7 @@ #include "common/numerics.hpp" #include "graphics/sprite.hpp" #include "graphics/viewport.hpp" +#include "platform-dx/implementations.hpp" using DxSpriteBatch = DirectX::SpriteBatch; using DxSpriteSortMode = DirectX::SpriteSortMode; @@ -20,10 +21,6 @@ using DirectX::GXMVECTOR; using DxSpriteFont = DirectX::SpriteFont; namespace xna { - struct SpriteFont::PlatformImplementation { - sptr _dxSpriteFont = nullptr; - }; - SpriteFont::SpriteFont(GraphicsDevice& device, String const& fontFileName) { const auto wString = XnaHToWString(fontFileName); @@ -44,11 +41,7 @@ namespace xna { vec2.Y = size.m128_f32[1]; return vec2; - } - - struct SpriteBatch::PlatformImplementation { - sptr _dxspriteBatch = nullptr; - }; + } static constexpr void ConvertSpriteSort(SpriteSortMode value, DirectX::SpriteSortMode& target) { target = static_cast(static_cast(value)); diff --git a/inc/graphics/sprite.hpp b/inc/graphics/sprite.hpp index 49053a5..0de4ec6 100644 --- a/inc/graphics/sprite.hpp +++ b/inc/graphics/sprite.hpp @@ -35,7 +35,7 @@ namespace xna { void DrawString(SpriteFont& spriteFont, String const& text, Vector2 const& position, Color const& color, float rotation, Vector2 const& origin, float scale, SpriteEffects effects, float layerDepth); - private: + public: struct PlatformImplementation; uptr implementation = nullptr; }; @@ -46,7 +46,7 @@ namespace xna { ~SpriteFont(); Vector2 MeasureString(String const& text, bool ignoreWhiteSpace = true); - private: + public: struct PlatformImplementation; uptr implementation = nullptr; }; diff --git a/inc/platform-dx/implementations.hpp b/inc/platform-dx/implementations.hpp new file mode 100644 index 0000000..19a7b1c --- /dev/null +++ b/inc/platform-dx/implementations.hpp @@ -0,0 +1,18 @@ +#include "graphics/sprite.hpp" +#include "graphics/device.hpp" +#include "platform-dx/adapter-dx.hpp" +#include "platform-dx/presentparameters-dx.hpp" +#include "dxheaders.hpp" +#include "platform-dx/swapchain-dx.hpp" +#include "platform-dx/rendertarget-dx.hpp" +#include "platform-dx/blendstate-dx.hpp" + +namespace xna { + struct SpriteFont::PlatformImplementation { + sptr _dxSpriteFont = nullptr; + }; + + struct SpriteBatch::PlatformImplementation { + sptr _dxspriteBatch = nullptr; + }; +} \ No newline at end of file