瀏覽代碼

Image view: fix toggles, comparison slider offset and uncompressed texture that was not displayed

lviguier 8 月之前
父節點
當前提交
9eaac5db92
共有 3 個文件被更改,包括 9 次插入6 次删除
  1. 1 1
      hide/comp/Scene.hx
  2. 4 1
      hide/comp/Toolbar.hx
  3. 4 4
      hide/view/Image.hx

+ 1 - 1
hide/comp/Scene.hx

@@ -459,7 +459,7 @@ class Scene extends hide.comp.Component implements h3d.IDrawable {
 		};
 
 		if (uncompressed)
-			loadUncompressed();
+			res = loadUncompressed();
 
 		if( onReady == null ) onReady = function(_) {};
 		try {

+ 4 - 1
hide/comp/Toolbar.hx

@@ -84,13 +84,16 @@ class Toolbar extends Component {
 		return e;
 	}
 
-	public function addToggle( id: String, icon : String, ?title : String, ?label : String, ?onToggle : Bool -> Void, ?defValue = false, ?toggledIcon : String, saveToggleState = true) : ToolToggle {
+	public function addToggle( id: String, icon : String, ?title : String, ?label : String, ?onToggle : Bool -> Void, ?defValue = false, ?toggledIcon : String, saveToggleState : Bool = true, canBeUntoggled : Bool = true) : ToolToggle {
 		var e = new Element('<div class="button2" id="${id}" title="${title==null ? "" : title}"><div class="icon ico ico-$icon"/></div>');
 
 		if(label != null)
 			new Element('<label>$label</label>').appendTo(e);
 
 		function tog() {
+			if (!canBeUntoggled && e.get(0).hasAttribute("checked"))
+				return;
+
 			e.get(0).toggleAttribute("checked");
 			var checked = e.get(0).hasAttribute("checked");
 

+ 4 - 4
hide/view/Image.hx

@@ -353,7 +353,7 @@ class Image extends FileView {
 
 				applyShaderConfiguration();
 			}
-		}, this.viewMode.match(Compressed), null, false);
+		}, this.viewMode.match(Compressed), null, false, false);
 		tgCompressed.element.addClass("show-compressed");
 
 		var tgUncompressed = tools.addToggle("show-uncompressed","file-image-o", "Show uncompressed texture", "", function (e) {
@@ -370,7 +370,7 @@ class Image extends FileView {
 				applyShaderConfiguration();
 			}
 
-		}, this.viewMode.match(Uncompressed), null, false);
+		}, this.viewMode.match(Uncompressed), null, false, false);
 		tgUncompressed.element.addClass("show-uncompressed");
 
 		var tgComparison = tools.addToggle("show-comparison","arrows-h", "Show comparison between compressed and uncompressed texture", "", function (e) {
@@ -387,7 +387,7 @@ class Image extends FileView {
 				applyShaderConfiguration();
 			}
 
-		}, this.viewMode.match(Comparison), null, false);
+		}, this.viewMode.match(Comparison), null, false, false);
 		tgComparison.element.addClass("show-comparison");
 
 		tools.addSeparator();
@@ -789,7 +789,7 @@ class Image extends FileView {
 			var oldWidth = sliderBmp.getSize().width;
 			@:privateAccess sliderBmp.scaleX = (1 / (cam2d.curPos.z)) * 2;
 			var offset = sliderBmp.getSize().width - oldWidth;
-			sliderBmp.x -= offset / 4;
+			sliderBmp.x -= offset;
 		}
 
 		// todo : handle slider zoom for cam 3d