Explorar el Código

Fixed reversed image offsets, fixed image editor

Ivan Safrin hace 12 años
padre
commit
28eda7e3a1

+ 5 - 12
IDE/Contents/Source/PolycodeImageEditor.cpp

@@ -67,20 +67,13 @@ bool PolycodeImageEditor::openFile(OSFileEntry filePath) {
 	addChild(bottomShape);
 	addChild(bottomShape);
 		
 		
 		
 		
-	editorImage = new UIRect(10,10);
-	
-	Texture *newTexture = CoreServices::getInstance()->getMaterialManager()->createTextureFromFile(filePath.fullPath);
-	newTexture->reloadOnFileModify = true;
-	editorImage->setTexture(newTexture);
-	
-//	editorImage->strokeEnabled = true;
-//	editorImage->setStrokeColor(1.0, 1.0, 1.0, 0.2);
-	
-	aspectRatio = ((Number)newTexture->getWidth()) / ((Number)newTexture->getHeight());
-	
+	editorImage = new UIRect(filePath.fullPath);
+	aspectRatio = ((Number)editorImage->getWidth()) / ((Number)editorImage->getHeight());
+	editorImage->setAnchorPoint(0.0, 0.0, 0.0);
 	addChild(editorImage);
 	addChild(editorImage);
 	
 	
 	PolycodeEditor::openFile(filePath);
 	PolycodeEditor::openFile(filePath);
+	
 	return true;
 	return true;
 }
 }
 
 
@@ -88,7 +81,7 @@ void PolycodeImageEditor::Resize(int x, int y) {
 
 
 	editorImage->setPosition(x/2, y/2);
 	editorImage->setPosition(x/2, y/2);
 	grid->getImage()->setImageCoordinates(0,0,x,y);	
 	grid->getImage()->setImageCoordinates(0,0,x,y);	
-	
+
 	if((y * 0.8) * aspectRatio > x * 0.8) {
 	if((y * 0.8) * aspectRatio > x * 0.8) {
 		editorImage->Resize((x * 0.8), (x * 0.8) / aspectRatio);	
 		editorImage->Resize((x * 0.8), (x * 0.8) / aspectRatio);	
 	} else {
 	} else {

+ 4 - 4
Modules/Contents/UI/Source/PolyUIElement.cpp

@@ -69,19 +69,19 @@ void UIRect::setImageCoordinates(Number x, Number y, Number width, Number height
 	Polygon *imagePolygon = rectMesh->getPolygon(0);	
 	Polygon *imagePolygon = rectMesh->getPolygon(0);	
 	vertex = imagePolygon->getVertex(0);
 	vertex = imagePolygon->getVertex(0);
 	vertex->set(-whalf,-hhalf,0);
 	vertex->set(-whalf,-hhalf,0);
-	vertex->setTexCoord(xFloat, yFloat + hFloat);
+	vertex->setTexCoord(xFloat, (1.0-yFloat) - hFloat);
 
 
 	vertex = imagePolygon->getVertex(1);
 	vertex = imagePolygon->getVertex(1);
 	vertex->set(-whalf+width,-hhalf,0);
 	vertex->set(-whalf+width,-hhalf,0);
-	vertex->setTexCoord(xFloat + wFloat, yFloat + hFloat);
+	vertex->setTexCoord(xFloat + wFloat, (1.0-yFloat) - hFloat);
 
 
 	vertex = imagePolygon->getVertex(2);
 	vertex = imagePolygon->getVertex(2);
 	vertex->set(-whalf+width,-hhalf+height,0);
 	vertex->set(-whalf+width,-hhalf+height,0);
-	vertex->setTexCoord(xFloat + wFloat, yFloat);
+	vertex->setTexCoord(xFloat + wFloat, 1.0-yFloat);
 
 
 	vertex = imagePolygon->getVertex(3);	
 	vertex = imagePolygon->getVertex(3);	
 	vertex->set(-whalf,-hhalf+height,0);	
 	vertex->set(-whalf,-hhalf+height,0);	
-	vertex->setTexCoord(xFloat, yFloat);
+	vertex->setTexCoord(xFloat, 1.0-yFloat);
 
 
 	rectMesh->arrayDirtyMap[RenderDataArray::VERTEX_DATA_ARRAY] = true;
 	rectMesh->arrayDirtyMap[RenderDataArray::VERTEX_DATA_ARRAY] = true;
 	rectMesh->arrayDirtyMap[RenderDataArray::TEXCOORD_DATA_ARRAY] = true;	
 	rectMesh->arrayDirtyMap[RenderDataArray::TEXCOORD_DATA_ARRAY] = true;