Browse Source

Resize bugs (#145)

- Resolve various resize issues on s3d windows
- Fix stretch on l3d tab opening
- Prevent size problem on tab creation
- Fix FXE s2d size on tab creation
Jed974 4 năm trước cách đây
mục cha
commit
d97fb846d1
3 tập tin đã thay đổi với 17 bổ sung14 xóa
  1. 10 9
      hide/comp/Scene.hx
  2. 6 3
      hide/view/FXEditor.hx
  3. 1 2
      hide/view/l3d/Level3D.hx

+ 10 - 9
hide/comp/Scene.hx

@@ -123,13 +123,20 @@ class Scene extends Component implements h3d.IDrawable {
 		@:privateAccess engine.resCache.set(Scene, this);
 		engine.backgroundColor = 0xFF111111;
 		canvas.id = null;
+		engine.onResized = function() {
+			if( s2d == null ) return;
+			setCurrent();
+			visible = engine.width > 32 && engine.height > 32; // 32x32 when hidden !
+			s2d.scaleMode = Resize; // setter call
+			onResize();
+		};
 		engine.onReady = function() {
 			if( engine.driver == null ) return;
 			new Element(canvas).on("resize", function() {
+				window.setCurrent();
 				@:privateAccess window.checkResize();
 			});
-			engine.setCurrent();
-			window.setCurrent();
+			setCurrent();
 			hxd.Key.initialize();
 			s2d = new h2d.Scene();
 			if (chunkifyS3D) {
@@ -140,18 +147,12 @@ class Scene extends Component implements h3d.IDrawable {
 			sevents = new hxd.SceneEvents(window);
 			sevents.addScene(s2d);
 			sevents.addScene(s3d);
+			@:privateAccess window.checkResize();
 			onReady();
 			onResize();
 			sync();
 			ide.registerUpdate(sync);
 		};
-		engine.onResized = function() {
-			if( s2d == null ) return;
-			setCurrent();
-			visible = engine.width > 32 && engine.height > 32; // 32x32 when hidden !
-			s2d.scaleMode = Resize; // setter call
-			onResize();
-		};
 		engine.init();
 	}
 

+ 6 - 3
hide/view/FXEditor.hx

@@ -209,6 +209,7 @@ class FXEditor extends FileView {
 	}
 
 	override function onDisplay() {
+		if( sceneEditor != null ) sceneEditor.dispose();
 		currentTime = 0.;
 		xOffset = -timelineLeftMargin / xScale;
 		var content = sys.io.File.getContent(getPath());
@@ -224,8 +225,10 @@ class FXEditor extends FileView {
 
 		element.html('
 			<div class="flex vertical">
-				<div class="toolbar"></div>
-				<div class="flex-elt">
+				<div style="flex: 0 0 30px;">
+					<span class="tools-buttons"></span>
+				</div>
+				<div style="display: flex; flex-direction: row; flex: 1; overflow: hidden;">
 					<div class="flex vertical">
 						<div class="flex heaps-scene"></div>
 						<div class="fx-animpanel">
@@ -268,7 +271,7 @@ class FXEditor extends FileView {
 					</div>
 				</div>
 			</div>');
-		tools = new hide.comp.Toolbar(null,element.find(".toolbar"));
+		tools = new hide.comp.Toolbar(null,element.find(".tools-buttons"));
 		tabs = new hide.comp.Tabs(null,element.find(".tabs"));
 		sceneEditor = new FXSceneEditor(this, data);
 		element.find(".hide-scenetree").first().append(sceneEditor.tree.element);

+ 1 - 2
hide/view/l3d/Level3D.hx

@@ -260,8 +260,7 @@ class Level3D extends FileView {
 					<span class="layer-buttons"></span>
 				</div>
 				<div style="display: flex; flex-direction: row; flex: 1; overflow: hidden;">
-					<div class="heaps-scene">
-					</div>
+					<div class="heaps-scene"></div>
 					<div class="hide-scene-outliner">
 						<div class="favorites" style="height:20%;">
 							<label>Favorites</label>