From fc1713e9df3ae8db6e612610023e7bd5f6b6f5fe Mon Sep 17 00:00:00 2001 From: chai Date: Wed, 30 Jan 2019 23:09:54 +0800 Subject: *misc --- Source/Asura.Engine/Containers/Map.cpp | 0 Source/Asura.Engine/Containers/Map.h | 17 ------ Source/Asura.Engine/Containers/Stack.cpp | 0 Source/Asura.Engine/Containers/Stack.h | 0 Source/Asura.Engine/Containers/String.cpp | 0 Source/Asura.Engine/Containers/String.h | 78 ------------------------- Source/Asura.Engine/Containers/StringMap.cpp | 0 Source/Asura.Engine/Containers/StringMap.hpp | 32 ---------- Source/Asura.Engine/Containers/UnorderedMap.hpp | 0 Source/Asura.Engine/Containers/Vector.hpp | 16 ----- Source/Asura.Engine/Graphics/Image.h | 69 +--------------------- Source/Asura.Engine/Graphics/Shader.h | 10 ++-- Source/Asura.Engine/Map.cpp | 0 Source/Asura.Engine/Map.h | 14 +++++ Source/Asura.Engine/Stack.cpp | 0 Source/Asura.Engine/Stack.h | 0 Source/Asura.Engine/String.cpp | 0 Source/Asura.Engine/String.h | 75 ++++++++++++++++++++++++ Source/Asura.Engine/StringMap.cpp | 0 Source/Asura.Engine/StringMap.hpp | 29 +++++++++ Source/Asura.Engine/UnorderedMap.hpp | 0 Source/Asura.Engine/Vector.hpp | 14 +++++ Source/Asura.Framework/main.cpp | 0 23 files changed, 140 insertions(+), 214 deletions(-) delete mode 100644 Source/Asura.Engine/Containers/Map.cpp delete mode 100644 Source/Asura.Engine/Containers/Map.h delete mode 100644 Source/Asura.Engine/Containers/Stack.cpp delete mode 100644 Source/Asura.Engine/Containers/Stack.h delete mode 100644 Source/Asura.Engine/Containers/String.cpp delete mode 100644 Source/Asura.Engine/Containers/String.h delete mode 100644 Source/Asura.Engine/Containers/StringMap.cpp delete mode 100644 Source/Asura.Engine/Containers/StringMap.hpp delete mode 100644 Source/Asura.Engine/Containers/UnorderedMap.hpp delete mode 100644 Source/Asura.Engine/Containers/Vector.hpp create mode 100644 Source/Asura.Engine/Map.cpp create mode 100644 Source/Asura.Engine/Map.h create mode 100644 Source/Asura.Engine/Stack.cpp create mode 100644 Source/Asura.Engine/Stack.h create mode 100644 Source/Asura.Engine/String.cpp create mode 100644 Source/Asura.Engine/String.h create mode 100644 Source/Asura.Engine/StringMap.cpp create mode 100644 Source/Asura.Engine/StringMap.hpp create mode 100644 Source/Asura.Engine/UnorderedMap.hpp create mode 100644 Source/Asura.Engine/Vector.hpp delete mode 100644 Source/Asura.Framework/main.cpp (limited to 'Source') diff --git a/Source/Asura.Engine/Containers/Map.cpp b/Source/Asura.Engine/Containers/Map.cpp deleted file mode 100644 index e69de29..0000000 diff --git a/Source/Asura.Engine/Containers/Map.h b/Source/Asura.Engine/Containers/Map.h deleted file mode 100644 index 999971c..0000000 --- a/Source/Asura.Engine/Containers/Map.h +++ /dev/null @@ -1,17 +0,0 @@ -#ifndef __ASURA_ENGINE_MAP_H__ -#define __ASURA_ENGINE_MAP_H__ - -#include - -namespace AsuraEngine -{ - namespace Containers - { - - template - using Map = std::map; - - } -} - -#endif \ No newline at end of file diff --git a/Source/Asura.Engine/Containers/Stack.cpp b/Source/Asura.Engine/Containers/Stack.cpp deleted file mode 100644 index e69de29..0000000 diff --git a/Source/Asura.Engine/Containers/Stack.h b/Source/Asura.Engine/Containers/Stack.h deleted file mode 100644 index e69de29..0000000 diff --git a/Source/Asura.Engine/Containers/String.cpp b/Source/Asura.Engine/Containers/String.cpp deleted file mode 100644 index e69de29..0000000 diff --git a/Source/Asura.Engine/Containers/String.h b/Source/Asura.Engine/Containers/String.h deleted file mode 100644 index 4739b44..0000000 --- a/Source/Asura.Engine/Containers/String.h +++ /dev/null @@ -1,78 +0,0 @@ -#ifndef __ASURA_ENGINE_STRING_H__ -#define __ASURA_ENGINE_STRING_H__ - -#include - -namespace AsuraEngine -{ - namespace Containers - { - - /// - /// 封装std::string - /// - class String : public std::string - { - public: - inline String() - : std::string() - { - } - - inline String(const std::string& str) - : std::string(str) - { - } - - inline String(const String& str) - : std::string(str) - { - } - - inline String(const char* str) - : std::string(str) - { - } - - inline String& operator = (const String& str) - { - std::string::operator=(str); - return *this; - } - - inline operator const char* () const - { - return this->c_str(); - } - - inline const char* str() const - { - return this->c_str(); - } - - inline String(const String& s2, size_type pos2, size_type len2) - : std::string(s2, pos2, len2) - { - } - - inline String(const char* buf, size_type bufsize) - : std::string(buf, bufsize) - { - } - - inline String(size_type repetitions, char c) - : std::string(repetitions, c) - { - } - - inline int length() const - { - return size(); - } - - }; - - } -} - -#endif \ No newline at end of file diff --git a/Source/Asura.Engine/Containers/StringMap.cpp b/Source/Asura.Engine/Containers/StringMap.cpp deleted file mode 100644 index e69de29..0000000 diff --git a/Source/Asura.Engine/Containers/StringMap.hpp b/Source/Asura.Engine/Containers/StringMap.hpp deleted file mode 100644 index 208f16b..0000000 --- a/Source/Asura.Engine/Containers/StringMap.hpp +++ /dev/null @@ -1,32 +0,0 @@ -#ifndef __ASURA_ENGINE_STRINGMAP_H__ -#define __ASURA_ENGINE_STRINGMAP_H__ - -#include "String.h" - -namespace AsuraEngine -{ - namespace Containers - { - - /// - /// 一个双向一一对应的映射,用来储存shader uniforms、statemathine state parameter的ID。 - /// - template - class StringMap - { - public: - - bool ContainsKey(const key_type& key); - - bool ContainsString(const String& str); - - String GetStringByKey(const key_type& key); - - key_type GetKeyByString(const String& str); - - }; - - } -} - -#endif \ No newline at end of file diff --git a/Source/Asura.Engine/Containers/UnorderedMap.hpp b/Source/Asura.Engine/Containers/UnorderedMap.hpp deleted file mode 100644 index e69de29..0000000 diff --git a/Source/Asura.Engine/Containers/Vector.hpp b/Source/Asura.Engine/Containers/Vector.hpp deleted file mode 100644 index 5824b57..0000000 --- a/Source/Asura.Engine/Containers/Vector.hpp +++ /dev/null @@ -1,16 +0,0 @@ -#ifndef __ASURA_ENGINE_VECTOR_HPP__ -#define __ASURA_ENGINE_VECTOR_HPP__ - -#include - -namespace AsuraEngine -{ - namespace Containers - { - template - using Vector = std::vector; - - } -} - -#endif \ No newline at end of file diff --git a/Source/Asura.Engine/Graphics/Image.h b/Source/Asura.Engine/Graphics/Image.h index 503baab..e84dd6c 100644 --- a/Source/Asura.Engine/Graphics/Image.h +++ b/Source/Asura.Engine/Graphics/Image.h @@ -1,9 +1,9 @@ #ifndef __ASURA_ENGINE_IMAGE_H__ #define __ASURA_ENGINE_IMAGE_H__ -#include "Containers/StringMap.hpp" -#include "Containers/String.h" -#include "Containers/Map.h" +#include "StringMap.hpp" +#include "String.h" +#include "Map.h" #include "Math/Vector2.h" #include "Manager.hpp" #include "Texture.h" @@ -57,69 +57,6 @@ namespace AsuraEngine }; - /// - /// - /// - class ImageManager : public Manager - { - public: - - /// - /// 通过ID获取路径,如果是程序创建的图片,返回String::Null - /// - Containers::String GetImagePath(uint ID); - - /// - /// 通过ID路径获取ID,如果没找到,返回0 - /// - uint GetImageID(const Containers::String& path); - - Image* GetImage(const Containers::String& path); - - Image* GetImage(const Containers::String& ID); - - uint AddImage(const Containers::String& path, Image* image); - - uint AddImage(Image* image); - - bool RemoveImage(uint ID); - - bool RemoveImage(Image* image); - - private: - - /// - /// 所有的image - /// - Containers::Map mImages; - - /// - /// image,路径和ID的映射。针对从.asr导入的image,通过路径可以拿到image。所以并不是所有的image都在此map中。由 - /// 程序创建的image只能通过ID来获取,所以程序中需要保留ID。 - /// - Containers::StringMap mImageIDs; - - }; - - /// - /// - /// - class ImageFactory : public Factory - { - public: - - /// - /// 从image pixel数据中构建image - /// - Image* ReadBuffer(Color* pixels, int width, int height); - - /// - /// 从image extern数据并返回 - /// - Image* Decode(); - - }; - } } diff --git a/Source/Asura.Engine/Graphics/Shader.h b/Source/Asura.Engine/Graphics/Shader.h index aa5bd53..e15c6e0 100644 --- a/Source/Asura.Engine/Graphics/Shader.h +++ b/Source/Asura.Engine/Graphics/Shader.h @@ -3,8 +3,8 @@ #include "luax/luax.h" -#include "Containers/Map.h" -#include "Containers/StringMap.hpp" +#include "Map.h" +#include "StringMap.hpp" #include "Object.h" #include "Color.h" #include "Manager.hpp" @@ -33,12 +33,12 @@ namespace AsuraEngine /// /// 保存了所有shader的uniforms变量的ID映射。 /// - static Containers::StringMap sUniformsID; + static StringMap sUniformsID; /// /// 获得uniform变量的ID。 /// - static int GetUniformID(const Containers::String& name); + static int GetUniformID(const String& name); /// /// 设置内置变量: @@ -51,7 +51,7 @@ namespace AsuraEngine /// /// 映射uniforms ID到location。 /// - Containers::Map mLocations; + Map mLocations; }; diff --git a/Source/Asura.Engine/Map.cpp b/Source/Asura.Engine/Map.cpp new file mode 100644 index 0000000..e69de29 diff --git a/Source/Asura.Engine/Map.h b/Source/Asura.Engine/Map.h new file mode 100644 index 0000000..3c538d4 --- /dev/null +++ b/Source/Asura.Engine/Map.h @@ -0,0 +1,14 @@ +#ifndef __ASURA_ENGINE_MAP_H__ +#define __ASURA_ENGINE_MAP_H__ + +#include + +namespace AsuraEngine +{ + + template + using Map = std::map; + +} + +#endif \ No newline at end of file diff --git a/Source/Asura.Engine/Stack.cpp b/Source/Asura.Engine/Stack.cpp new file mode 100644 index 0000000..e69de29 diff --git a/Source/Asura.Engine/Stack.h b/Source/Asura.Engine/Stack.h new file mode 100644 index 0000000..e69de29 diff --git a/Source/Asura.Engine/String.cpp b/Source/Asura.Engine/String.cpp new file mode 100644 index 0000000..e69de29 diff --git a/Source/Asura.Engine/String.h b/Source/Asura.Engine/String.h new file mode 100644 index 0000000..6d0ec3a --- /dev/null +++ b/Source/Asura.Engine/String.h @@ -0,0 +1,75 @@ +#ifndef __ASURA_ENGINE_STRING_H__ +#define __ASURA_ENGINE_STRING_H__ + +#include + +namespace AsuraEngine +{ + + /// + /// 封装std::string + /// + class String : public std::string + { + public: + inline String() + : std::string() + { + } + + inline String(const std::string& str) + : std::string(str) + { + } + + inline String(const String& str) + : std::string(str) + { + } + + inline String(const char* str) + : std::string(str) + { + } + + inline String& operator = (const String& str) + { + std::string::operator=(str); + return *this; + } + + inline operator const char* () const + { + return this->c_str(); + } + + inline const char* str() const + { + return this->c_str(); + } + + inline String(const String& s2, size_type pos2, size_type len2) + : std::string(s2, pos2, len2) + { + } + + inline String(const char* buf, size_type bufsize) + : std::string(buf, bufsize) + { + } + + inline String(size_type repetitions, char c) + : std::string(repetitions, c) + { + } + + inline int length() const + { + return size(); + } + + }; + +} + +#endif \ No newline at end of file diff --git a/Source/Asura.Engine/StringMap.cpp b/Source/Asura.Engine/StringMap.cpp new file mode 100644 index 0000000..e69de29 diff --git a/Source/Asura.Engine/StringMap.hpp b/Source/Asura.Engine/StringMap.hpp new file mode 100644 index 0000000..92a157f --- /dev/null +++ b/Source/Asura.Engine/StringMap.hpp @@ -0,0 +1,29 @@ +#ifndef __ASURA_ENGINE_STRINGMAP_H__ +#define __ASURA_ENGINE_STRINGMAP_H__ + +#include "String.h" + +namespace AsuraEngine +{ + + /// + /// 一个双向一一对应的映射,用来储存shader uniforms、statemathine state parameter的ID。 + /// + template + class StringMap + { + public: + + bool ContainsKey(const key_type& key); + + bool ContainsString(const String& str); + + String GetStringByKey(const key_type& key); + + key_type GetKeyByString(const String& str); + + }; + +} + +#endif \ No newline at end of file diff --git a/Source/Asura.Engine/UnorderedMap.hpp b/Source/Asura.Engine/UnorderedMap.hpp new file mode 100644 index 0000000..e69de29 diff --git a/Source/Asura.Engine/Vector.hpp b/Source/Asura.Engine/Vector.hpp new file mode 100644 index 0000000..5e35312 --- /dev/null +++ b/Source/Asura.Engine/Vector.hpp @@ -0,0 +1,14 @@ +#ifndef __ASURA_ENGINE_VECTOR_HPP__ +#define __ASURA_ENGINE_VECTOR_HPP__ + +#include + +namespace AsuraEngine +{ + + template + using Vector = std::vector; + +} + +#endif \ No newline at end of file diff --git a/Source/Asura.Framework/main.cpp b/Source/Asura.Framework/main.cpp deleted file mode 100644 index e69de29..0000000 -- cgit v1.1-26-g67d0