Browse Source

Merge remote-tracking branch 'origin/master' into dev

dmuratshin 9 years ago
parent
commit
eda6a499a4

+ 8 - 0
oxygine/SDL/macosx/oxygine_macosx/oxygine_macosx.xcodeproj/project.pbxproj

@@ -232,6 +232,8 @@
 		92F3F34B1CA3BD7B00425D52 /* ThreadMessages.h in Headers */ = {isa = PBXBuildFile; fileRef = 92F3F3481CA3BD7B00425D52 /* ThreadMessages.h */; };
 		92F3F34B1CA3BD7B00425D52 /* ThreadMessages.h in Headers */ = {isa = PBXBuildFile; fileRef = 92F3F3481CA3BD7B00425D52 /* ThreadMessages.h */; };
 		AD14D5611D72B19600182666 /* Image.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD14D55F1D72B19600182666 /* Image.cpp */; };
 		AD14D5611D72B19600182666 /* Image.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD14D55F1D72B19600182666 /* Image.cpp */; };
 		AD14D5621D72B19600182666 /* Image.h in Headers */ = {isa = PBXBuildFile; fileRef = AD14D5601D72B19600182666 /* Image.h */; };
 		AD14D5621D72B19600182666 /* Image.h in Headers */ = {isa = PBXBuildFile; fileRef = AD14D5601D72B19600182666 /* Image.h */; };
+		AD3C64031E22EDA300D8DBAF /* oxygine-forwards.h in Headers */ = {isa = PBXBuildFile; fileRef = AD3C64011E22EDA300D8DBAF /* oxygine-forwards.h */; };
+		AD3C64041E22EDA300D8DBAF /* oxygine-include.h in Headers */ = {isa = PBXBuildFile; fileRef = AD3C64021E22EDA300D8DBAF /* oxygine-include.h */; };
 		AD977D971D56F26400C3C05E /* key.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD977D951D56F26400C3C05E /* key.cpp */; };
 		AD977D971D56F26400C3C05E /* key.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD977D951D56F26400C3C05E /* key.cpp */; };
 		AD977D981D56F26400C3C05E /* key.h in Headers */ = {isa = PBXBuildFile; fileRef = AD977D961D56F26400C3C05E /* key.h */; };
 		AD977D981D56F26400C3C05E /* key.h in Headers */ = {isa = PBXBuildFile; fileRef = AD977D961D56F26400C3C05E /* key.h */; };
 		CEC2CFF61C47274C00450163 /* Material.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEC2CFEE1C47274C00450163 /* Material.cpp */; };
 		CEC2CFF61C47274C00450163 /* Material.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEC2CFEE1C47274C00450163 /* Material.cpp */; };
@@ -474,6 +476,8 @@
 		92F3F3481CA3BD7B00425D52 /* ThreadMessages.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ThreadMessages.h; sourceTree = "<group>"; };
 		92F3F3481CA3BD7B00425D52 /* ThreadMessages.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ThreadMessages.h; sourceTree = "<group>"; };
 		AD14D55F1D72B19600182666 /* Image.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Image.cpp; path = ../../../src/Image.cpp; sourceTree = "<group>"; };
 		AD14D55F1D72B19600182666 /* Image.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Image.cpp; path = ../../../src/Image.cpp; sourceTree = "<group>"; };
 		AD14D5601D72B19600182666 /* Image.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Image.h; path = ../../../src/Image.h; sourceTree = "<group>"; };
 		AD14D5601D72B19600182666 /* Image.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Image.h; path = ../../../src/Image.h; sourceTree = "<group>"; };
+		AD3C64011E22EDA300D8DBAF /* oxygine-forwards.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "oxygine-forwards.h"; path = "../../../src/oxygine-forwards.h"; sourceTree = "<group>"; };
+		AD3C64021E22EDA300D8DBAF /* oxygine-include.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "oxygine-include.h"; path = "../../../src/oxygine-include.h"; sourceTree = "<group>"; };
 		AD977D951D56F26400C3C05E /* key.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = key.cpp; path = ../../../src/key.cpp; sourceTree = "<group>"; };
 		AD977D951D56F26400C3C05E /* key.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = key.cpp; path = ../../../src/key.cpp; sourceTree = "<group>"; };
 		AD977D961D56F26400C3C05E /* key.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = key.h; path = ../../../src/key.h; sourceTree = "<group>"; };
 		AD977D961D56F26400C3C05E /* key.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = key.h; path = ../../../src/key.h; sourceTree = "<group>"; };
 		CEC2CFEE1C47274C00450163 /* Material.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Material.cpp; path = ../../../src/Material.cpp; sourceTree = "<group>"; };
 		CEC2CFEE1C47274C00450163 /* Material.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Material.cpp; path = ../../../src/Material.cpp; sourceTree = "<group>"; };
@@ -516,6 +520,8 @@
 		049B55901871F21000EF3C66 /* src */ = {
 		049B55901871F21000EF3C66 /* src */ = {
 			isa = PBXGroup;
 			isa = PBXGroup;
 			children = (
 			children = (
+				AD3C64011E22EDA300D8DBAF /* oxygine-forwards.h */,
+				AD3C64021E22EDA300D8DBAF /* oxygine-include.h */,
 				AD14D55F1D72B19600182666 /* Image.cpp */,
 				AD14D55F1D72B19600182666 /* Image.cpp */,
 				AD14D5601D72B19600182666 /* Image.h */,
 				AD14D5601D72B19600182666 /* Image.h */,
 				AD977D951D56F26400C3C05E /* key.cpp */,
 				AD977D951D56F26400C3C05E /* key.cpp */,
@@ -882,6 +888,7 @@
 				049B56D31871F21E00EF3C66 /* Input.h in Headers */,
 				049B56D31871F21E00EF3C66 /* Input.h in Headers */,
 				049B56CE1871F21E00EF3C66 /* EventDispatcher.h in Headers */,
 				049B56CE1871F21E00EF3C66 /* EventDispatcher.h in Headers */,
 				049B57241871F21E00EF3C66 /* winnie_alloc_config.h in Headers */,
 				049B57241871F21E00EF3C66 /* winnie_alloc_config.h in Headers */,
+				AD3C64031E22EDA300D8DBAF /* oxygine-forwards.h in Headers */,
 				049B56D91871F21E00EF3C66 /* matrix.h in Headers */,
 				049B56D91871F21E00EF3C66 /* matrix.h in Headers */,
 				049B56A11871F21E00EF3C66 /* pixel.h in Headers */,
 				049B56A11871F21E00EF3C66 /* pixel.h in Headers */,
 				049B56FA1871F21E00EF3C66 /* ResBuffer.h in Headers */,
 				049B56FA1871F21E00EF3C66 /* ResBuffer.h in Headers */,
@@ -960,6 +967,7 @@
 				049B56B61871F21E00EF3C66 /* vertex.h in Headers */,
 				049B56B61871F21E00EF3C66 /* vertex.h in Headers */,
 				049B56D11871F21E00EF3C66 /* initActor.h in Headers */,
 				049B56D11871F21E00EF3C66 /* initActor.h in Headers */,
 				049B566E1871F21E00EF3C66 /* Button.h in Headers */,
 				049B566E1871F21E00EF3C66 /* Button.h in Headers */,
+				AD3C64041E22EDA300D8DBAF /* oxygine-include.h in Headers */,
 				049B56901871F21E00EF3C66 /* intrusive_ptr.h in Headers */,
 				049B56901871F21E00EF3C66 /* intrusive_ptr.h in Headers */,
 				929AF57D1C88AF2E00D276ED /* ResAtlasPrebuilt.h in Headers */,
 				929AF57D1C88AF2E00D276ED /* ResAtlasPrebuilt.h in Headers */,
 				049B56871871F21E00EF3C66 /* VideoDriverGL.h in Headers */,
 				049B56871871F21E00EF3C66 /* VideoDriverGL.h in Headers */,

+ 5 - 0
oxygine/src/Box9Sprite.cpp

@@ -125,6 +125,11 @@ namespace oxygine
         return Actor::getDestRect();
         return Actor::getDestRect();
     }
     }
 
 
+    bool Box9Sprite::isOn(const Vector2 &localPosition, float localScale)
+    {
+        return Actor::isOn(localPosition, localScale);
+    }
+
     void Box9Sprite::prepare()
     void Box9Sprite::prepare()
     {
     {
         _guidesX.resize(4);
         _guidesX.resize(4);

+ 2 - 0
oxygine/src/Box9Sprite.h

@@ -32,6 +32,8 @@ namespace oxygine
         void setVerticalGuides(float x1, float x2);
         void setVerticalGuides(float x1, float x2);
         void setHorizontalGuides(float y1, float y2);
         void setHorizontalGuides(float y1, float y2);
 
 
+        bool isOn(const Vector2 &localPosition, float localScale) OVERRIDE;
+
         std::string dump(const dumpOptions&) const;
         std::string dump(const dumpOptions&) const;
 
 
         void serialize(serializedata* data);
         void serialize(serializedata* data);

+ 15 - 0
oxygine/src/Sprite.cpp

@@ -303,10 +303,20 @@ namespace oxygine
 
 
         setAttr(node, "flipX", isFlippedX(), false);
         setAttr(node, "flipX", isFlippedX(), false);
         setAttr(node, "flipY", isFlippedY(), false);
         setAttr(node, "flipY", isFlippedY(), false);
+        setAttrV2(node, "localScale", _localScale, Vector2(1, 1));
 
 
         node.set_name("Sprite");
         node.set_name("Sprite");
     }
     }
 
 
+    Vector2 attr2Vector2(const pugi::xml_attribute &attr, const Vector2& def)
+    {
+        if (!attr)
+            return def;
+        Vector2 v;
+        sscanf(attr.as_string(""), "%f,%f", &v.x, &v.y);
+        return v;
+    }
+
     void Sprite::deserialize(const deserializedata* data)
     void Sprite::deserialize(const deserializedata* data)
     {
     {
         inherited::deserialize(data);
         inherited::deserialize(data);
@@ -321,6 +331,11 @@ namespace oxygine
             setAnimFrame(frame);
             setAnimFrame(frame);
         }
         }
 
 
+
+        _localScale = attr2Vector2(node.attribute("localScale"), Vector2(1, 1));
+        _setSize(_frame.getSize().mult(_localScale));
+
+
         setFlipped(node.attribute("flipX").as_bool(false), node.attribute("flipY").as_bool(false));
         setFlipped(node.attribute("flipX").as_bool(false), node.attribute("flipY").as_bool(false));
     }
     }
 }
 }

+ 2 - 2
oxygine/src/core/ios/ios.mm

@@ -50,8 +50,8 @@ namespace oxygine
     
     
     namespace operations
     namespace operations
     {
     {
-        void blit(const ImageData &src, ImageData &dest);
-        void blitPremultiply(const ImageData &src, ImageData &dest);
+        void blit(const ImageData &src, const ImageData &dest);
+        void blitPremultiply(const ImageData &src, const ImageData &dest);
     }
     }
     
     
 #if TARGET_OS_IPHONE
 #if TARGET_OS_IPHONE