Просмотр исходного кода

Add GetVariantType functions, Fix compile warning in UI.cpp.

aster2013 11 лет назад
Родитель
Сommit
5ea467ff23
2 измененных файлов с 26 добавлено и 1 удалено
  1. 25 0
      Source/Engine/Core/Variant.h
  2. 1 1
      Source/Engine/UI/UI.cpp

+ 25 - 0
Source/Engine/Core/Variant.h

@@ -825,4 +825,29 @@ private:
     VariantValue value_;
     VariantValue value_;
 };
 };
 
 
+/// Return variant type from type.
+template<typename T> VariantType GetVariantType();
+
+/// Return variant type from concrete types.
+template<> inline VariantType GetVariantType<int>() { return VAR_INT; }
+template<> inline VariantType GetVariantType<unsigned>() { return VAR_INT; }
+template<> inline VariantType GetVariantType<bool>() { return VAR_BOOL; }
+template<> inline VariantType GetVariantType<float>() { return VAR_FLOAT; }
+template<> inline VariantType GetVariantType<Vector2>() { return VAR_VECTOR2; }
+template<> inline VariantType GetVariantType<Vector3>() { return VAR_VECTOR3; }
+template<> inline VariantType GetVariantType<Vector4>() { return VAR_VECTOR4; }
+template<> inline VariantType GetVariantType<Quaternion>() { return VAR_QUATERNION; }
+template<> inline VariantType GetVariantType<Color>() { return VAR_COLOR; }
+template<> inline VariantType GetVariantType<String>() { return VAR_STRING; }
+template<> inline VariantType GetVariantType<PODVector<unsigned char>>() { return VAR_BUFFER; }
+template<> inline VariantType GetVariantType<ResourceRef>() { return VAR_RESOURCEREF; }
+template<> inline VariantType GetVariantType<ResourceRefList>() { return VAR_RESOURCEREFLIST; }
+template<> inline VariantType GetVariantType<VariantVector>() { return VAR_VARIANTVECTOR; }
+template<> inline VariantType GetVariantType<VariantMap>() { return VAR_VARIANTMAP; }
+template<> inline VariantType GetVariantType<IntRect>() { return VAR_INTRECT; }
+template<> inline VariantType GetVariantType<IntVector2>() { return VAR_INTVECTOR2; }
+template<> inline VariantType GetVariantType<Matrix3>() { return VAR_MATRIX3; }
+template<> inline VariantType GetVariantType<Matrix3x4>() { return VAR_MATRIX3X4; }
+template<> inline VariantType GetVariantType<Matrix4>() { return VAR_MATRIX4; }
+
 }
 }

+ 1 - 1
Source/Engine/UI/UI.cpp

@@ -1078,7 +1078,7 @@ void UI::ProcessClickBegin(const IntVector2& cursorPos, int button, int buttons,
 
 
         bool newButton;
         bool newButton;
         if (usingTouchInput_)
         if (usingTouchInput_)
-            newButton = !((bool)(button & buttons));
+            newButton = (button & buttons) == 0;
         else
         else
             newButton = true;
             newButton = true;
         buttons |= button;
         buttons |= button;