From 22a9165d4ce9ee2b79970b4bf4183fb7a891f020 Mon Sep 17 00:00:00 2001 From: hurikhan Date: Sun, 11 Jan 2015 20:30:57 +0800 Subject: [PATCH 01/18] Demo misc/window_management added --- misc/window_management/control.gd | 39 +++++++++++++++++++ misc/window_management/engine.cfg | 5 +++ misc/window_management/icon.png | Bin 0 -> 3639 bytes misc/window_management/icon.png.flags | 1 + misc/window_management/window_management.scn | Bin 0 -> 3276 bytes 5 files changed, 45 insertions(+) create mode 100644 misc/window_management/control.gd create mode 100644 misc/window_management/engine.cfg create mode 100644 misc/window_management/icon.png create mode 100644 misc/window_management/icon.png.flags create mode 100644 misc/window_management/window_management.scn diff --git a/misc/window_management/control.gd b/misc/window_management/control.gd new file mode 100644 index 00000000..3e74f24e --- /dev/null +++ b/misc/window_management/control.gd @@ -0,0 +1,39 @@ + +extends Control + +func _fixed_process(delta): + if(OS.is_fullscreen()): + get_node("Label_Fullscreen").set_text("Mode:\nFullscreen") + else: + get_node("Label_Fullscreen").set_text("Mode:\nWindowed") + + get_node("Label_Position").set_text( str("Position:\n", OS.get_window_position() ) ) + + get_node("Label_Size").set_text(str("Size:\n", OS.get_window_size() ) ) + + get_node("Label_Screen_Count").set_text( str("Screens:\n", OS.get_screen_count() ) ) + + get_node("Label_Screen0_Resolution").set_text( str("Screen0 Resolution:\n", OS.get_screen_size() ) ) + + if(OS.get_screen_count() > 1): + get_node("Label_Screen1_Resolution").show() + get_node("Label_Screen1_Resolution").set_text( str("Screen0 Resolution:\n", OS.get_screen_size(1) ) ) + + +func _ready(): + set_fixed_process(true) + + +func _on_Fullscreen_toggled( pressed ): + if(pressed): + OS.set_fullscreen(true) + else: + OS.set_fullscreen(false) + + +func _on_Button_MoveTo_pressed(): + OS.set_window_position( Vector2(100,100) ) + + +func _on_Button_Resize_pressed(): + OS.set_window_size( Vector2(1024,768) ) diff --git a/misc/window_management/engine.cfg b/misc/window_management/engine.cfg new file mode 100644 index 00000000..7b6dddce --- /dev/null +++ b/misc/window_management/engine.cfg @@ -0,0 +1,5 @@ +[application] + +name="window_management" +main_scene="res://window_management.scn" +icon="icon.png" diff --git a/misc/window_management/icon.png b/misc/window_management/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..0c422e37b0ea9e6ad2901c8d425cb12f4d37694f GIT binary patch literal 3639 zcmV-74#@F|P)% zTW=dlcE^8J-Ay*{q(oh9OO|A7;eH2=!1Jp z5C0zc2KWk?215PXe!_SUJO=(_`Q?+}^=cr_UI+yL7Pwg`9{-fgeKe$#8Ss_y?O8>1 zDB#}G!+!<-;e!b-1SoaIE+k4R;A;IqOA-IJ{PM{^Hm_;TFCScZ03nDbM;V)%qgpAV zJa@3iq{h_D5(tUasPG|#2dFpdnBmCJC$dwcx%}?$A+UhJ?En2k2yd7%l9_Qv(pe_s z$=3DPdz<7oUk}trW@45vW^T29?^jA3og8v(-Z~!X}2)dbauR$Nz~^-i5>BH$VGpJf)DL(?!{?OWC$qeYZlra&i@RNhdS! zmtQ`a(}K7E+j^sZ>CS}I_|=176Vh}vAy9x2UH%n4p5i#adv0Gh7VeQWBY^1YLkKW+ zo$KS**gn_}6nVMfVTL2=iR{#S34C)^({GM#DFjl;t~UqZcplTq42Bu?F9^}`5kjJe zOr}zqR$ph~_bq*zS9Gp{%-=}-dH(X~!Duh&(r0{fdI10_HKf#oj|M`J%1#s3^p=q4 z;))6g@Rg1qa)YN&Q&A4fQPDM z6V;6io9j{|e#S`}QtRtDd!gaER~`ZZLIc>^MerG^SdFW9H6ZG??bH1LIyhee1B`DG zj8``>%Z~x26w31uasdBxfehy=K+^^=>5$16U;c{8coOf!nB|4YMq}K+|7(nJ^uo5< z1;bLC$WDFRD+b7n&+z5qJ%kyjbdm>Dmo~?5EOKxD4pAf2GjRE-;3*Zv1J|()lk!Qv zjki-Cre>E|y19g{g{Tydy81E05%gXJqNyxj%-+URin;6rbJ+==uD_}*?r{yWd{MZyDi44zI{t(Oxisa}NU(VfWwf$^rhH9lq`8e0rm$fBI zr%q5QW)|+9D||aXHQ_IU6oRO3Ff)I*^Lq13Vq}Whkuf}V{&e;!3w{xAo>E*-jgTI{ zarz8^)O6-=ECeR>0b-+16it7ybbSFCOpg-4b6qSah_3z&Q1@Is*8y5XK=J0yGE&Ia zLgW78{4vQY#Yz>22BzThah|AdM>J8Z1&u>NkFTD5_$Ys@Xq5RFCf&YM;P zvp&y+J=bG&e557(Nuk91)h%{5b1l7^kuVEOH&6Q;0>fE=0NZhx|7^B(X=81N=P#b2 zX?|BPUaYV%cbi+E&oOmloVC}RJ-bp$VHgIwp<_2JT(`HPG)-gj+8D0u@#CXs931A5 zng&X-va-TgUq56dn?~0)rf*EJv9^t_>jPWeP!^y(MI>TkM*IcS@!<*2pFhRWL#>>> zVT5?Q_L|+z9Ft{(kjd*;{yw0PXGjFjDwc?~ zc76<9Cln6#vi&S^ zzx&^RCbxA)@ zsgxp-OtgMC>W!gRv_mOCN=dm?ZVA13X935xyV}`ygU^;e!*#qXr^{{2U$xE8-okM@ z1DR&w#N6Tx0M$y3hGh*EB@Q+mu zK44-x%fxh+zn%UY^0^~Cr5K+a1z>k;pL(r6c`D@^nb9P%M2yji5nRXRC|}^{pg^@+L({Zw zh7=&^@Ff72W%rF{r6$>Yzr)FKiA*-d*yJceK)u$WT&!@EFVLu4ms0kn6oB#rlzO$! zZnfSy<^l;c*+clYHsw-A4r+2E;`34GbHE4`L~Oo@+L53heVm*YxLj9ty?dXW!#k{*aTJ z9&E1q({oD!W-P`1`8zOwhxMa8d%N!_9_~P!0;CYE?(d+KBArN)2$^V747|5LOsZ`V zg?dV1c`ml=QneZsipOM9BdzK*T}pE05_Y3XVq}u($r;9D37))JrcyZQRDcm|aC%BH zJCdbg)yP##9mE=*M{es4p6jsJd@dZtFr$P*5hAe!H%BL0%DRkD?eu!JFIo+D4|CLO zWo)aCRjagidH`zGB9pi8wY@a|`r_;&X0Tujg(5U#$Cd(I$7z{4(03UtH61gSVqtcP z-0?oe!U6Siftos^aNuDzYJ7fuzU#R{z0TTJXFjeyY;CXj(De{^W^Q%)9w`J*SH8z{ zEQHh$QW8y!kW7t|O=ehL{;qpVKj_1DT|!dx_XgS&)>44gsC7OVjI?~ULN*%ng>Q~N zAxN7h>8Tl*nrXFr`TYByN(0zE+@*Y+L+XYvc-vSOZGSx1L3u96~u2A!v9mCnY~S)js+f)p8F7)Jh#rB^>f&`4=nyi_~?JnF+?T(>>R$o>G`b z=-jlF49st7>1$G9vuBNup=qs((!PrtrI1o5tZ99R$!_U{ot-u6m6O&6NJu~RQ&zp) zlA}X~YxzAE#->_z0V9bNyN5YSCwU47+Y}DA{D-=hz(K)ckhkl{IDo+S4}E9-ra-FG z4|EF}L{w+46%ThP9`2wSAtH$k>C8AcM#fr>dM&@-!Oy7zgkX2$6$@iiEnkodo1~^^ z@up@d+YJhpGW)p=Mzhy@^R8(Wj}LgQ>6m7ecsNSh47U;(P5Jsc$)8)w%O7~b!s#HlPP?g|DnKcea(TJ4&eHTOXAw6- z#M7h9WU@Wk)})3JieNWtWzFhd;y<6`yTJiO0((sLT0opZSN_?gN3`n zcMlL<@yo{XA&qLWqt7lcaS4~ zpkdW%)T>yHDz0M_4V_<>n2aaM8zDlGIAJqJI2<7yiVzMNg!K@nZnT`=SsqS#>kNpb z5EQKj>#IL@(d#OaY2xdLe>HIB=0#|KQ-cOLgSH(64cFn(@^`*NY~!V~LZl5sNFM+2 zUz`NhV?%9|ox!Q_YM@B))XG$c#a)(e$+md%?0Y=N?pa^lQvphOD9>g2>33`#=Y#Qf zIVCiQkQB02Fnv*bUCLI~`DLuYQ+|QeZs~;Or~lKj8{9m+wYSOY%SRXGBrP4-0dDrZ9dvlSx6ThoImV~wSs0rF=qN+`Q=+|$PYS`> z;XZrYt2nL5_S_e?qvM~eyLk~I$EvgQ{yDoFuef>Z9@ELppImr2b(DMMB5&XP;E(me z@mQP4PDRXcI-!#vDmeOAG+8chj+y4APrA+Q{m*UYL zZXeG+2%3kcnt{-_>15`T$L18ubtxQdQ8?J*H4u&^i6=)%#8X5j&@?n5(E=~u zj#EW=*h=Ag3fpzCU6;Dupj1AgTs)#)F0`HzLS999@K48{t|oqxgOdS-kVxG>A0&cJ zP5+>jPhKenO5rIF<+^yD6D*5Ae8t+?)1yD_(b=959sgQTU0*&p&OJH{kjwA>ej+>d z-V8?`nBhqJDrX5lC8U!X%y8sA@K4JxpZs(Cy}mB`&*k|1{{iVth5oYr`Az@;002ov JPDHLkV1hBt8>9dL literal 0 HcmV?d00001 diff --git a/misc/window_management/icon.png.flags b/misc/window_management/icon.png.flags new file mode 100644 index 00000000..5130fd1a --- /dev/null +++ b/misc/window_management/icon.png.flags @@ -0,0 +1 @@ +gen_mipmaps=false diff --git a/misc/window_management/window_management.scn b/misc/window_management/window_management.scn new file mode 100644 index 0000000000000000000000000000000000000000..6eaf62ff9f6a9cf0cff2b4e2d38f0441855b7035 GIT binary patch literal 3276 zcmY*cYjE6F6+V)7SGL!&6TjB>`f$Sx0S>tvB?g#MNCBuN!J6G_W?suqXEakI ztNhIX0kU0@p^jA5*_vY&?TnT%)w~APWDPH;i)Pl)vPxIT$=G_qO;DcAz>^qEE6oh7 zAvI*Ib~KU5Sf*=R#x1$5(hD`DHDFj7)gbNcFuXxlA^7|YcobOD3hji$y$~ckgsAjc z)`1wQhW&(tD#BGw7gSeQ4Om6OysYO7mhH-3N9Npv&h@p6#fWbyHRiL$)m| zPZ=*VMTdL|)YxHOHuT(_3mrbU-Dg`vva21G^{l!Jq}VRbR$(<+w+yEskzT_sRuf(v;^#H3AgfM+tWWb*nWAlLrVI5%DnEPnBHqGl z=7MfpW*%eWi=jE$nw@pDQY|c$YsF`nq~7y+{1mGiyOdY)L)8VGCtpmqEPhtNa-*{$O}H-=4r`qEA7FAo--|5yh9umzgB9YpL0mX@%>1m>oUT3Fr`8BLufB9ma$^lg$HY<2wQ{-mN7JKH zI*>8+%zST(kqiA>z{&h0z8PGl3iSS@QbpbbH~laffPIZc@?b#e=;Q7k=Is^_$W z1v$A!`6Xjp14DgLB@T`{L~8KcLM^WrUF(3Y7L-M%Sm@o`-}RYl49C9(a{5PoC&hC| za*TXO|2}4qrF>lZbwJ*2IeO0pFnuo0OliVv$}^=nOvjk?Zm&*#j*%tuD4j&L&$YlX zZf7l{sO*t;`dkNWq#*u4czT6d1M-nqA)C2e4yTr|-w!;02pQE9IlYIGtH*|2no{6ytY;+}FvvnzPo#wYUktfWyqK zNu>enki*y5f_|{)uZ&~HhHwx8>8NmM;AF0qJKF!1F`wJuN0ytVHhbLm!8B1=`l8|&Bn?DzhG_4U7Nxw_TJwSMa3BrB~n}-lH^g z!z1r(FE_)Y56$dDrze#Ym;{3)Q?9yM_#)miu_zEmGylRgEOUGD&)B_glAW`16TBbj z!V^rvI=wuiw@Pr?jl-^O= z)=tKs^aD|G2@YL{6WmWf?nse-2TDg^u*da}kj?%-)Q8<_xXGh0Bq1-?D z)2q8P@41IXQ@zXbpfXcPMnidQHcke?f#dt!AXWkY|d}xzMN1!(pS6xXt zw058=$6LqLN~IVClo%~8VxbwDOsxZ2c_%!swBmu_9rPC7V|iQPA*F@Z5Q(Zv{8p~E zQLhc&RoZYkIHgsRpw|K`)FecPVVX3RH!y7yp2h|8YjP5taw}}|9)Xhg5(vs#rWwj> znPEacb~C&efp{7CsJ97pKeT~{d2j>TcsyiUSb_*MKAUcq~Wd6b}qY{3%{q24FN&rzw3 z)Z-Gg)4oG17#<&m4vH^BC&dfU7mGTmd(Aj6`Zt$>~8lQppQG6Y?(Ej_W!vnDOCdDX4fNdBc03RS6 zm2bN#Z>Mr9KBGois!}h3K>b8&n*xb?zf5DnqAzxk03@m91>pt1`vQ!U5#b^}fjp#0 zy%@m@V#FW2025?}jyy^I{t35Jj(XTh@jUFJn)7f6l_T&$%6})}%YP{I@FCI&yD95+ zG39q(hbc0G((~WM8{&1JyCHB?xZy`{;LFSW`RBh$51}Q_!yd|Y5%yA+57TFca(2T< zD82*xJYHy&9O`um?xMSX5$>k?0eTL3_!zCz7UEdFrHcF!z=tH+Q$TiWNKxA2id#6GRBvwrAYUMe$vXF{EqIG1kWk}E1UT7C^g-2 zj`|C~T^ZrWxr&qOT^G);bieb*#`^M&%l!C>|M{i(mG%6N^^jg3kM0-|BhN=uXO^Al zMB{QI3K^=LctoI2a%|!es-CQ`sI$v;QR&TV_1qsCrzam?=Ax4om)jecd!rMNrp^z2 y9n1&ww+q;uIt;TtL!c2Z$ Date: Tue, 13 Jan 2015 17:25:50 +0800 Subject: [PATCH 02/18] get_screen_position() added --- misc/window_management/control.gd | 11 ++++++++--- misc/window_management/window_management.scn | Bin 3276 -> 3582 bytes 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/misc/window_management/control.gd b/misc/window_management/control.gd index 3e74f24e..ad15a747 100644 --- a/misc/window_management/control.gd +++ b/misc/window_management/control.gd @@ -15,11 +15,16 @@ func _fixed_process(delta): get_node("Label_Screen0_Resolution").set_text( str("Screen0 Resolution:\n", OS.get_screen_size() ) ) + get_node("Label_Screen0_Position").set_text(str("Screen0 Position:\n",OS.get_screen_position())) + if(OS.get_screen_count() > 1): get_node("Label_Screen1_Resolution").show() - get_node("Label_Screen1_Resolution").set_text( str("Screen0 Resolution:\n", OS.get_screen_size(1) ) ) - - + get_node("Label_Screen1_Resolution").set_text( str("Screen1 Resolution:\n", OS.get_screen_size(1) ) ) + get_node("Label_Screen1_Position").show() + get_node("Label_Screen1_Position").set_text( str("Screen1 Position:\n", OS.get_screen_size(1) ) ) + else: + get_node("Label_Screen1_Resolution").hide() + get_node("Label_Screen1_Position").hide() func _ready(): set_fixed_process(true) diff --git a/misc/window_management/window_management.scn b/misc/window_management/window_management.scn index 6eaf62ff9f6a9cf0cff2b4e2d38f0441855b7035..3a6426f3ee9d00f23132c6fc321fcda325f6bf24 100644 GIT binary patch delta 2277 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 From 6a2359f901f77f611a8779c3bc9e6c9b40b9198e Mon Sep 17 00:00:00 2001 From: hurikhan Date: Tue, 13 Jan 2015 21:01:24 +0800 Subject: [PATCH 03/18] Using Xinerama extension for getting screen info --- misc/window_management/control.gd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/misc/window_management/control.gd b/misc/window_management/control.gd index ad15a747..34df5dd9 100644 --- a/misc/window_management/control.gd +++ b/misc/window_management/control.gd @@ -21,7 +21,7 @@ func _fixed_process(delta): get_node("Label_Screen1_Resolution").show() get_node("Label_Screen1_Resolution").set_text( str("Screen1 Resolution:\n", OS.get_screen_size(1) ) ) get_node("Label_Screen1_Position").show() - get_node("Label_Screen1_Position").set_text( str("Screen1 Position:\n", OS.get_screen_size(1) ) ) + get_node("Label_Screen1_Position").set_text( str("Screen1 Position:\n", OS.get_screen_position(1) ) ) else: get_node("Label_Screen1_Resolution").hide() get_node("Label_Screen1_Position").hide() From 067dbfa56fe6ee0f70aa1bf5f04b3375969233fb Mon Sep 17 00:00:00 2001 From: hurikhan Date: Wed, 14 Jan 2015 12:02:59 +0800 Subject: [PATCH 04/18] get_screen() + set_screen() added --- misc/window_management/control.gd | 27 ++++++++++++++++++- misc/window_management/engine.cfg | 4 +++ misc/window_management/window_management.scn | Bin 3582 -> 3787 bytes 3 files changed, 30 insertions(+), 1 deletion(-) diff --git a/misc/window_management/control.gd b/misc/window_management/control.gd index 34df5dd9..ce17db6b 100644 --- a/misc/window_management/control.gd +++ b/misc/window_management/control.gd @@ -13,18 +13,35 @@ func _fixed_process(delta): get_node("Label_Screen_Count").set_text( str("Screens:\n", OS.get_screen_count() ) ) + get_node("Label_Screen_Current").set_text( str("Current:\n", OS.get_screen() ) ) + get_node("Label_Screen0_Resolution").set_text( str("Screen0 Resolution:\n", OS.get_screen_size() ) ) get_node("Label_Screen0_Position").set_text(str("Screen0 Position:\n",OS.get_screen_position())) if(OS.get_screen_count() > 1): + get_node("Button_Screen1").show() get_node("Label_Screen1_Resolution").show() - get_node("Label_Screen1_Resolution").set_text( str("Screen1 Resolution:\n", OS.get_screen_size(1) ) ) get_node("Label_Screen1_Position").show() + get_node("Label_Screen1_Resolution").set_text( str("Screen1 Resolution:\n", OS.get_screen_size(1) ) ) get_node("Label_Screen1_Position").set_text( str("Screen1 Position:\n", OS.get_screen_position(1) ) ) else: + get_node("Button_Screen1").hide() get_node("Label_Screen1_Resolution").hide() get_node("Label_Screen1_Position").hide() + + if( Input.is_action_pressed("ui_right")): + OS.set_screen(1) + + if( Input.is_action_pressed("ui_left")): + OS.set_screen(0) + + if( Input.is_action_pressed("ui_up")): + OS.set_fullscreen(true) + + if( Input.is_action_pressed("ui_down")): + OS.set_fullscreen(false) + func _ready(): set_fixed_process(true) @@ -42,3 +59,11 @@ func _on_Button_MoveTo_pressed(): func _on_Button_Resize_pressed(): OS.set_window_size( Vector2(1024,768) ) + + +func _on_Button_Screen0_pressed(): + OS.set_screen(0) + + +func _on_Button_Screen1_pressed(): + OS.set_screen(1) diff --git a/misc/window_management/engine.cfg b/misc/window_management/engine.cfg index 7b6dddce..44ad30ea 100644 --- a/misc/window_management/engine.cfg +++ b/misc/window_management/engine.cfg @@ -3,3 +3,7 @@ name="window_management" main_scene="res://window_management.scn" icon="icon.png" + +[display] + +fullscreen=true diff --git a/misc/window_management/window_management.scn b/misc/window_management/window_management.scn index 3a6426f3ee9d00f23132c6fc321fcda325f6bf24..9d55174dcec9ff01ca27f20c4461a89722a12c69 100644 GIT binary patch delta 2133 zcmZWrZA@F|6+ZV~!v#z*!~ugT@bY26Kxzo2ZbA~y^)+CJ(q)i_CTZ$x%ndkzFR~3} z37rjeN!m_ht-Dm&M`Nn3s?u$3RjKJVZ8agR)zYb&_NA#(dx=|3S<(+FQd@Oe*fCr8 zXIFZx=RD^eU%%&lpI5$9eyzefFeuBAc?tnG>HyLrKwB2TGu)Hb7r3ccR$mjm%4_lO zaK3(901n3AN)~YgDt@d4lSTF4W>=wA&)o`b{t?4{{$X`O7e4A4R<d9Gc#C5x)Y zIVNpqbbbrxKRMi=xM(PgJsUR(>d7ged!Oa27Te8cngDSm2V+ExHQ+pBz3jo1yk(CD47F0p^4lwcpefS>af-8x!XN%PCI_)E%8rx+E!nm+qH_VC@4p8PJRaq(FpDFbM7~At9(B{ zq8_h(tns&eSc}^C;s8JQH>S*D4V>~MaGL<|rJQN-ypAFT9WFHEurL!;XZI)PttD6? zsnRj5#w)gcXFKpN;nvS@Nm%OsUgBDIrQLJFzjI~It4WMgLpQjbb>RX0J61J!@nhPk z=U=*^5|_9s?XkYZRldjC&xYWi91ivx7M~yY zCj4Sq)v|8z%D0s=`$M*T-B2z+3a4(tw}jun{q|n$^9qRzB8#nl2;bzw)3(#R8jUvp zVeJu28_5fhPY6s$qWRjS&mSI*Kt{}CLeBOHRu>7VAyp}YTvn7Do(}mYwGoxhKt7GR z3CdWG#phE;f>AB(qx~EWhJ2AgSXDzlpTa<7ENd_j4o*cCCvYvS07{vF00uNL06xQ0 zLr{eI!dJ(n$RwN(E@Qkeac|C04F8HZ@%B2OjqjPlYGk*=5zs=>ur_h`=*Y5>OG-Gz z1AMByxw#Ee0E{eG=$W3Fm>)_u!6n6thqC&$8TFu+EP*d|D9IX7Bf(Q@vV_Z*;}3E+ z84o}XJ5Zgd{xP&BtDu9>uV+_58xccHIpoU99tws=v{^Ov3OuEhx>|EG?u-Vt(C*|8 zxUQ5zHlAQ-Q^ioGDCmjDA(AQuNr%#Gc{&_cLs1GJN`4>W%jFPM8o6RfNn9&qH#V(% z8d!1;7UCUT{G8Iln*ov`%IffZstID}X%#VOUV{^S!wxCEDTA*_&J1X zTlfetHitW5BMGcP0W6T7c2yv_wxjXNE-Xi*E&v`T&vrr~D@6x_E_UK0*yXCka_Lia zO0#H^UP94z7@HxVxlx2IOf1B9C`gK6N{Tp+7S}Hmro56mxf^5nM?5VBQHBz#T>=Xe zaY=5&CHG-m1uL^8`ttt4cUu!qqZY$7e2rQ3=CsSK3u)K8dS4n>iOHRMLmCd~cc4N*I*X}NB1NM?ijYmw5Jjf{ zA0=%$jS}`#)s7gI-A~9N9Ha98&UD>khU2W^e?yeIX#G+zO+vby8O|sT2kv3Lq`Epu zb-kET$Jn(@$8~1|Zcs*cpqaMBh>#9+;`n;48M0VXKATO~L?~m5El}A{?<|(5;RG{6 zkdDd?YOtdPCRjdFQhCmsq+?jg-D19-E~Hy8Z#Q{df9vi1_$KKe~Ets1N3pZ delta 1940 zcmZWqe@t7~6+Z7>!vjo!)&%n-gbUdGaLAyAj1)3B&(9bGYsm}^O;X}#!wYdk{U|n& zhIDp9m89vUD5Fi(s#Bb@Zt12?+NLe5`XeT6W7*iEidECrZhH<&w=PWEL^ZG7lyiU91+WkxL(_FFW7V>_X$?_Faa!N$?*Duvi%jN3;n;%wrS&F-`4>m9uI8 z_*CqzSU%H^O!$-!)whL7y|%!1N3}uNzn$mct8%X7pNi-+ll}?yNnvWDdS{I=w~l7p zv)~K-$bQ7Ra6CFD_#Uj;B@F870ree|Z?_%}R(=mc2D1rXP5!O={g@2~s)WGqc%J_) z!Kd(x5D8=(tO%O0L)6Eo)IsM(BV&sJx_iN3rEs5NX{AYMMX&t+O`#inCvsqPGDY8T< zgzT3LvDEz>mdbAk)Bf7)VkiBIuL#rCR^y}f%` z&<~#MlYVvQzNH@?dteEhkg5CdnDP=9pc$HDr(I6G*VVR19Muk1@2Tq%C-q2O0=?p~ z-*9yXtKg`o2n!iCjFMJ(+EJpQ#fcUSu<4*S(_4MK2+L(n9>z+%W?MXY1-G#EZ?DT( z>xFyrGtLJup$QP?&twfnO(H3ZIRk+pah5SK zG8vqRsAmc$wQyTw~65F$w;rF4GfRoEba=%$#Mrr^d&_Ba@mI ziaUf{CFTH=S_Rp>Dsw0p8r5gCL?3)ZEykIQ2lZ)fP>;95m(?Q3;f>L(w80`lJ=7L2 zfsfS^Y|8Lz;owm%UIaI3PbP1I0bZDB5K0t$0jK#p{CNl`ilHTb0b=o=fvnaEn;}sr zG;uzB*MCm}kB`8k@fHZG4PY_E1_QpDaKMR}Lx`PL9fmMOel!ok`FKMVUQ!!ACD;)D z6n~!+(nqy0P}$&1m2bi)ao~9>V4nPhyn-OVhi2|j%~*zJg8}YEhV4+mi?I>GklOJn z?38D*46?Y5Zsh>x%iluDnT6XRmsg+!o4AC{kQbLAKQ7^6WLCv9AId4JaejzVT*X;A zhzb;O7oG(x?LF%>XjQ`VaS2MfG=Dkg&!X%4{BveK3cI-l`Z>cj=V8OT24CRYuzm3Y zZa7yBwt@em#hOvJflEp0;^GDHa@{#VrIh5a!yvu?VZt7ILj?@cd>bB#OR`znPpSpj z%gOJskN8^HPx~I_lCz)Mu7WC%f?=KopYSNiSCUqX%y2_yN^O#*lwT*y7|tgpc2ioQ z7#nGlUr*Mi!~+288n)9hla^G11ait1rNbrrQ?699F(vu{{1)2Tb(=I@VS13foNP{Y ztr91w5L-*Ol5R2O9{N<}z7b7sOLZ~uCp#=%W~a1h>E53VTe?@1jTQ(H>FJjVt_n{- z(VpcrJwkMkl4O>iKH_?o(%fh=&*FOb1L?;5mhRq8%Jp_ruJ>v>rzLk<$R4fK_HaMh z!%e6s>?AbLU)r=a3L-5#=nf?4 Date: Wed, 14 Jan 2015 13:27:03 +0800 Subject: [PATCH 05/18] don't start demo in fullscreen mode --- misc/window_management/engine.cfg | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/misc/window_management/engine.cfg b/misc/window_management/engine.cfg index 44ad30ea..bdc8ec3e 100644 --- a/misc/window_management/engine.cfg +++ b/misc/window_management/engine.cfg @@ -6,4 +6,5 @@ icon="icon.png" [display] -fullscreen=true +fullscreen=false +resizable=false From aa4433dc93c86fa999022b62fbe88b95d2de211a Mon Sep 17 00:00:00 2001 From: hurikhan Date: Wed, 14 Jan 2015 15:44:47 +0800 Subject: [PATCH 06/18] demo window set to resizeable (need a bugfix her) --- misc/window_management/engine.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/misc/window_management/engine.cfg b/misc/window_management/engine.cfg index bdc8ec3e..2accafe4 100644 --- a/misc/window_management/engine.cfg +++ b/misc/window_management/engine.cfg @@ -7,4 +7,4 @@ icon="icon.png" [display] fullscreen=false -resizable=false +resizable=true From 5dcfab895407b657b3a1aa0e2f72782e9ef22657 Mon Sep 17 00:00:00 2001 From: hurikhan Date: Thu, 15 Jan 2015 22:50:23 +0900 Subject: [PATCH 07/18] WIP -- set_resizable() + is_resizable added --- misc/window_management/control.gd | 28 +++++++++++++++++-- misc/window_management/window_management.scn | Bin 3787 -> 3897 bytes 2 files changed, 26 insertions(+), 2 deletions(-) diff --git a/misc/window_management/control.gd b/misc/window_management/control.gd index ce17db6b..c867bd21 100644 --- a/misc/window_management/control.gd +++ b/misc/window_management/control.gd @@ -2,10 +2,18 @@ extends Control func _fixed_process(delta): + + var modetext = "Mode:\n" + if(OS.is_fullscreen()): - get_node("Label_Fullscreen").set_text("Mode:\nFullscreen") + modetext += "Fullscreen\n" else: - get_node("Label_Fullscreen").set_text("Mode:\nWindowed") + modetext += "Windowed\n" + + if(!OS.is_resizable()): + modetext += "FixedSize\n" + + get_node("Label_Mode").set_text(modetext) get_node("Label_Position").set_text( str("Position:\n", OS.get_window_position() ) ) @@ -19,6 +27,7 @@ func _fixed_process(delta): get_node("Label_Screen0_Position").set_text(str("Screen0 Position:\n",OS.get_screen_position())) + if(OS.get_screen_count() > 1): get_node("Button_Screen1").show() get_node("Label_Screen1_Resolution").show() @@ -42,6 +51,9 @@ func _fixed_process(delta): if( Input.is_action_pressed("ui_down")): OS.set_fullscreen(false) + get_node("Button_FixedSize").set_pressed( !OS.is_resizable() ) + + func _ready(): set_fixed_process(true) @@ -67,3 +79,15 @@ func _on_Button_Screen0_pressed(): func _on_Button_Screen1_pressed(): OS.set_screen(1) + + + + + +func _on_Button_FixedSize_pressed(): + if(OS.is_resizable()): + OS.set_resizable(false) + else: + OS.set_resizable(true) + + diff --git a/misc/window_management/window_management.scn b/misc/window_management/window_management.scn index 9d55174dcec9ff01ca27f20c4461a89722a12c69..befc177b5e09d4c07cc3657e1cc5da662998c3d3 100644 GIT binary patch delta 2588 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 From 08b10b0d48f1095194bc56c3b3b6c2aa6c17f513 Mon Sep 17 00:00:00 2001 From: hurikhan Date: Fri, 16 Jan 2015 13:49:46 +0900 Subject: [PATCH 08/18] rearrange the demo --- misc/window_management/control.gd | 4 +--- misc/window_management/window_management.scn | Bin 3897 -> 3931 bytes 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/misc/window_management/control.gd b/misc/window_management/control.gd index c867bd21..043db8d4 100644 --- a/misc/window_management/control.gd +++ b/misc/window_management/control.gd @@ -19,9 +19,7 @@ func _fixed_process(delta): get_node("Label_Size").set_text(str("Size:\n", OS.get_window_size() ) ) - get_node("Label_Screen_Count").set_text( str("Screens:\n", OS.get_screen_count() ) ) - - get_node("Label_Screen_Current").set_text( str("Current:\n", OS.get_screen() ) ) + get_node("Label_Screen_Info").set_text( str("Screens:\n", OS.get_screen_count(),"\n\nCurrent:\n", OS.get_screen() ) ) get_node("Label_Screen0_Resolution").set_text( str("Screen0 Resolution:\n", OS.get_screen_size() ) ) diff --git a/misc/window_management/window_management.scn b/misc/window_management/window_management.scn index befc177b5e09d4c07cc3657e1cc5da662998c3d3..a83897f9a08af20a0ee92b9f52f8c358fa1b1ab7 100644 GIT binary patch delta 1939 zcmXw)4@?{96~N!!84m1#lU%?70({0eV4MgN(vrba-u=OUlD3&3G))NH+2#Nj;v=>x zX&TKAY11rPMK)JWCsfU;re%1P|1^E}E==6}n6y{&kZj7iyuytZJYy zgNDE_m3yvpkPzd*kyv0A9llSS{>8@Bh;t2+TCFsZtA$w8b0%A>Y{OddGv?V)s&$f$ zB@^R6gI?0FusKj%EI=BoO%}{5d+-dtDtZ|X(i371)bQoqe`cqrX55{ix<6o(dcxx| zxz^yD&g!=9S~VWQ@8f6hF5mz{&T(ZVeG6yNfj@7qZ>x9i`1L{DiC<;*E7}lNA}4mk zv}-lRO{s}k(|<6IfVIfMxz-;|baIERb8+4{GD}Tc6@*q2^kGZb47TCCv^n|gWJ^y>6&0-Ur3;Y6iZ~zbGVnE=J z$W!HjgaU>g+_O=A_VDcs)mSg;;xIaK$sKv=MCRY6ZLRa6M;6ZqUl9qT$3ABE=D9)K zz((&VJ7J6mn@mds&NI`-H>NXB^4{imm+LPdldmk@L|P;Wwf*)7FH7&_>Vq5?IvtMs zZ5Q91jAdTuYlc@$OHkg_YCM{Ii)pEoUx0I;z+2qiJ9iG@k;7MW-{BJR@vyd^CS;e~ zPj;m_Y@0I3JmeWPQoF81uX>d68+k4s%=9{CQ~+3QBG$H1|sq3bW;0v zrlP!Qiw|t1ob%00O3v-;?O$<#m~eUO2lrsvpPiGpfb1r7EaNrRAO z=L6`-`ry6n9(btfW@$6*%QnLnibYFEPm~^y#zu`Qw6y; zrh_=EzZktFkn9Zn{lbe(Zkx8pWR6pl3E$1N!4)lQGDqqBlpHlnuF;k2rG5AT#9V`1 z0tn0_uK&$4;mu z?Z|^Y%i|>4Prtp1yUOa&^R1*c~!9jSOm!HCUWe%5> zdzp`{1;(Fw&$g7xuE|H&9P=or{kc#3SmAgy~rHu8@9aGZF>`zv1Yf$weHygiFNZu)NK>mEo8>%42F zj(r+nYy(aZ-sgprSw00rSsqRi-p|7@;l+Q#NS5!L_jmTq`ny1-hvOLy(k&38Zeber zA#JPs2%-QHQU;$B$ae{WYtrVT;J=km2!XCVC*WqjQD8w4b zB-|F(xE{$N_pI>2)DPvJ;6h#&EC*q6IkmlqH=UbW-&qtr$;hV8h3`YoF-dfif}oHayRFIn8`Yn edsHx}0OiC+#c6u?OCc(qp%1zKfquF8C;l&g&pyro delta 1917 zcmX|C3v5%@8UF9Rj&BkNo5du~gCxgsOkRTo5}Gs&@?YQUN1!ZgvNkP&-fPD<#!I*k zek7DcvlF_Jv8qvJb!BBLUZ-`^I%(_Jh8WsvlC^sP>bgo)RX6n*mp-OdbVBN;NfSFp zXjl4<{{Q>VfAl}j(S5J^Qgi*-xGY2I+YF#@19(pam@fnP!>jeHrZ!qp4Ld`k>7igq zpCw0JzxEy1tlIULJfU8>R{uKJbIko*_NvL5KAW)#`iVJJIjEiG;<5IqdqQi2L{KM{ z60iJ545pH?g?MmIdy-4dxt`s2=qWE++CBhvs>%J9w4iO6)UU)6QRlm0XwPPPUAXQ0w^o{0qPfmcidd+*bL9aFozUcZhVuTK;GsbL|D-%w?uTAl)69;6 z=D;5n>iPyGq^Ch3M&MI)`0l#QyrE77ml@OGS;;qm(VC@vgM0%UJn7Bce6VAlHpG(P=J#imyhlf_EtuQakJF#-c2jE2a;TD`kVh2q5AI|2cQ1c2KJ($9l|B~ zGu(_8=*z4sx3OA|@nL=1_2Z7u`FJeZc?`$+rFV(8fUR&cuz_0yfd9y)fWXHnGN<2z z4R#C(^HF_a|DTs@u}RXUBk06+w{be0y=(63cpI^Wr8~wS zjYUSbQ&TgpadWY6EoL7UyW9S<(X^_{XVx!clj{@&yZ-i*vz|-&Chvd{JQj-j-KSoj zc`}<5>$SJ2X+*xG)pyRgtEj0_ehNctRY+FF|sw2 zRfgcilusP;9Uo?Q99rtwqN;j0nvBKOc*;-{dNLU`A_-N62FTWy%R>~VO>9t+D2bY; z;<|2-2oewpDI1@PN9U5-0C2>LFCc&kO$6`^8`%VW0jsjlm#4}KycIvp)>pJv?FS2~ z5PYfG*=05Buh^cxUFM6P(8J@DtB3x~AO{DvK`18`&exqcpf~p*9L}{sike$sCo`%T zOj^)0Y@Uc3;n;$nFTzc&4o{Ys9!@eEGlp_QP_K=F8RKLvUjvd>gMrK{B=U6-rBG*< zQ}MWNB$>OCTY+?D`5>2B)jGHu$V*%=aa!)ZtVJN1B`)(lt&O(>j;i`cE~KoK^Php-QbQ;f8Vp6VOOn@H}i~{8eaT>jh}e ziR>K6+AME!O7?xrdYbMidIc&Jy%u_)cvF1EJ44%xFkYhHEYa`K$)az7x{B}!c^|$? z1SKJ>w;U7jDCt&y`bMKS;`_lZA>xfO;{t8GN&(P z$-IBTVIoSm;Yd#Orv2S%Z^YjYPp|?ng33~C=QPNO5M(>AvisYDAlV^A%Hb}7!hk(+ z+9O`E`!5y}_CQae#|~44eRfYzL9hodGj61>#Dy96x_!NUY7is29uz{W7i zU}iYXAQE9O93cXVu%C#qi&0-@C}((r!Nj04wdMag!4~G;%Zhcw1bSAqHf>*o{+!6# zA>tm`&8z`-R2K^!WN2r2kfDxYh{f*7K5XqxFTe!beW%nNw3WJ3Xtd*nQtHzra=%ik zofZB78I|l(535Z2QAv)Fjr%g2s-IPjmXh{-Njple-q&zg64%=$8?s!BGkY*mlB47o zB^lrTpl@+h>1MG?AB$C9DY)!V<`k97=Bb!ruxm^ Date: Sat, 17 Jan 2015 00:18:45 +0900 Subject: [PATCH 09/18] added the following methods: * set_minimized(bool) * bool is_minimized() * set_maximized(bool) * bool is_maximized() --- misc/window_management/control.gd | 33 +++++++++++++++---- misc/window_management/window_management.scn | Bin 3931 -> 4111 bytes 2 files changed, 26 insertions(+), 7 deletions(-) diff --git a/misc/window_management/control.gd b/misc/window_management/control.gd index 043db8d4..fd746cf0 100644 --- a/misc/window_management/control.gd +++ b/misc/window_management/control.gd @@ -13,17 +13,25 @@ func _fixed_process(delta): if(!OS.is_resizable()): modetext += "FixedSize\n" + if(OS.is_minimized()): + modetext += "Minimized\n" + + if(OS.is_maximized()): + modetext += "Maximized\n" + get_node("Label_Mode").set_text(modetext) get_node("Label_Position").set_text( str("Position:\n", OS.get_window_position() ) ) get_node("Label_Size").set_text(str("Size:\n", OS.get_window_size() ) ) - get_node("Label_Screen_Info").set_text( str("Screens:\n", OS.get_screen_count(),"\n\nCurrent:\n", OS.get_screen() ) ) + get_node("Label_Screen_Count").set_text( str("Screens:\n", OS.get_screen_count() ) ) + + get_node("Label_Screen_Current").set_text( str("Current:\n", OS.get_screen() ) ) get_node("Label_Screen0_Resolution").set_text( str("Screen0 Resolution:\n", OS.get_screen_size() ) ) - get_node("Label_Screen0_Position").set_text(str("Screen0 Position:\n",OS.get_screen_position())) + get_node("Label_Screen0_Position").set_text(str("Screen0 Position:\n",OS.get_screen_position() ) ) if(OS.get_screen_count() > 1): @@ -50,8 +58,9 @@ func _fixed_process(delta): OS.set_fullscreen(false) get_node("Button_FixedSize").set_pressed( !OS.is_resizable() ) - - + get_node("Button_Minimized").set_pressed( OS.is_minimized() ) + get_node("Button_Maximized").set_pressed( OS.is_maximized() ) + func _ready(): set_fixed_process(true) @@ -79,9 +88,6 @@ func _on_Button_Screen1_pressed(): OS.set_screen(1) - - - func _on_Button_FixedSize_pressed(): if(OS.is_resizable()): OS.set_resizable(false) @@ -89,3 +95,16 @@ func _on_Button_FixedSize_pressed(): OS.set_resizable(true) + +func _on_Button_Minimized_pressed(): + if(OS.is_minimized()): + OS.set_minimized(false) + else: + OS.set_minimized(true) + + +func _on_Button_Maximized_pressed(): + if(OS.is_maximized()): + OS.set_maximized(false) + else: + OS.set_maximized(true) diff --git a/misc/window_management/window_management.scn b/misc/window_management/window_management.scn index a83897f9a08af20a0ee92b9f52f8c358fa1b1ab7..635f6f6f28ba59ae2a8af372b4d8e9d43f5e397d 100644 GIT binary patch delta 2301 zcmY*bYj6|S6+XKwd2P#Bz}lAIzOrl!*`YR1w>Uv(^{{MQLTZN?aFbn07M6l78A-MY zFp+H164MgGXaWiJp+K6FG6`X5hhaJm!u~-fBw^CWxGkOWl}$^DnbL*~bofK>x@o7~ zneXn|^SJw+v-h0Y8`Vchd3TS~3EH(3pwcCJ z4G{_Ysji6g?nxKnne@hnYh(^ueATDW9HDt;Sf!eE-}L$dgXEayUi;6~LT^rbgD>RV z61d1U57mE~x~3zE@u!kTA+TpyaeY^Por^}Sr|Mr->mcU+5y_X^T=zxqNIWtY^$x2q za3jN(j~Y@hy@-bTDp35-G~~;oI;~Tlio`;-%OR{DO)mHLIDVKe^se9(C)sykhU!ax za-#hUDwINte4dXCj;MW3J=IrI7^Pw>Bvw(W6;@HM6}ufnbKJY2OdN&&eqYAW;m3wI zzntiuIF+{f-XjK@W1EOjutAmOD&;+Mu#Xy9!UyS6GL@o0ItD548y|%hT3pR`gz8S0 zyRQx)CVvV7dA~D=CeL2WI3HI0-f5;O$Hq)~0>ZVwqkOq*7nVD^xl!+mfAHaWEZ7Dv z(u$QCaJ{1gNZNtwfEF7&AK)>02oGY=!Gq$vY2C#S502Dd0;S;3WX^0GG;Z>))q&D?9FTk(~!);;Y}cPTy!;H;pYQs5@}KYc(!K z1FT8D?0z1XJJ0j|ft{8+w%vR*61V*oyZQZpAnF*_!rsn}SR?>Ebh3aJL#H1__O#Z4 z68ePEP++X9YrF)jg7K=4^90Nt1Jh=+qCUn$#E%D z)j276hkPN=z=5}SeW{v+6K|Al%rGi%H99AAW5LLnG7t^*>w#zez!3rT3M9_IROIXp2fR_xkv!p(k3W6_SHTiuFt7r6M+W1n5{nM_)YYt_m0%>fq%wan zG!Tp{tT4(RwN2R2zT1w~P)e#x6(!IgibtYKbR?|A0`Yh#JP=b9C?^%b69KLGTE2fI z7LN=m-snI~l^~x~q}JzJwourq9R>3H93|$D1_EI+fCNNB^gaG)XgIF6$_03Warm6! z5IYdPunY@?{~WDlM&VfKO-y!i!wwYXjj0Q{+x1z#5dV@Y%d0Ke1O}E{`^eznxRUbZ ztxVk2w}1`jEeeKiqEGe3ZWWH$%(YB#p=o4tFe&I}!CGyFXH0iV&k@TB7t zohK5HklMo98fZyRz=!F_;Gy~?&8dS`={nGAs; zOzm<$jfu}P#az8hZROCQzT)_GauQ-00)HPL<&qNX#T@5IG#UuUneK1NvmEBDge!)O z%(W2n*2O7s07&vBF0)Ln<0XLfPG+I-cDj~>L+Vc{=V2YJ_uyU1*_kBRSu@N+*j&iR zfRHXIyHEZEkJ3O2Rlq`0;(GzXG3ofu)N85T`BjN1RzNPP!&bQ$jq-669lyXPSCADp zi))~eG^6OciX!ep(OH5bEGISCLj_=;NWhb5r{YQHJD9-V;68afI-!KP@CcZQh)0}< z@rdhJIPG4FF{og1KZZ)CzXnxoy#Uo|kqW6LhR?VcQ?rJt1pV5)`y>_S-4gAacgLu8 z9(pw0jHa7qx^}y!dpbSuHvQSu3tLH(>zrF@Kdk{5TnE_wEbUsjDem(asC5CJA(!0> z6FdgE|7`H>MVeh!N{BjWXNUkGUyn5EHLq3 zzEGsS7;6}jZA1qx-#ZNZOaniju>`3c_XrTh|lOk+90mnsZ8X4wC7w>LeRcxFX3W z&9qN5g|h1304yOoM3HllO;z&Vn%R~<686}Y5TwEE7IJU)pI>-kw9-2Ju^A}NI0zZ z*Ai%9sTQ|yg)lL|5D`3w84(+rV3-s@ga{dv=XS;fyD4w#SjL1X6CjTmm>6TL$2G~M gI8$2L+|sloY;A^uMR}BsW^JTvS9edhQ~T%n7p%CY(f|Me delta 2056 zcmXw44NM#78Gi51a9|T0asd;5KQIQ&k061T43hBPoiTPumkC1BgoHcW7~=vyVw;jO zR6C?i(`XgxTs3XcG*eAY)lU1-Hmy^n#ehP$Dbb{DS-N#o&alBMvT71tCuN$t&slfU zbN75d&!_i&zxUBCkdG@$`UhkgGS6;+K^wpp5Aa?V1@mgjyG;0ptH0yg)#sCYYnR9e z(CYc@?V_q4J+}(>t5t?$9aNOZN(@||E?3q%ZW2UF9$=cuxC(u;01B$Q7ri+)= zRfF<1EfTEy8-&zX<9j@IaWk3ksW&L@(5U8Z)VV@v6(?D3Vp9tLCHp!P1ZDmy7#XQZnOv1vyY$C-VSYGi_dY{RdbWMOQ3pGeTQBKs?>cno zKzcWImRu}>R=u!-9s?DwpF8eZXCWenfg>T;I$E5cRsWj}DZZ)=h^i&hSgHg<)z9f{ ziK75Z#Lt;$W1jkPHWZBnegfU3-@&H9VPyg0SfsO{7nAlFank!2eb7*7;EDW8w1_ATWq&A=()|VAft_5 z{yV>5DqUrc_*bzNIrR+A$-l?lXo9x*6~|w2k37hZ_(!eR>bKdj7PWh^pPl;yQD?9k zW?diPUJl@qoDsPGj65B*ODLe#%RL+P&m6sdu?WjWzjzL-aK+|(=`@yc55M5YM>;WyuXMfzE)+|6;GNpG;%bm^V(kZR%HdUM~A6ph7JjpOpmS&=bqMhP^p z=?1sFqwce-wmjWXD!%};58*xT?wvb_vG3@$)SFx+9Pp|KXvNCpeo_`sI6C2i&&hT= z&#NyPi{TJ}qWDLGQLQkngr`GF#2<|YLxG5*KnXPxOE}1)$RnK5Hyw#;lZq!Ch^PV> ziIAAfv7XuWr9Q0C+YSUt(BKRE{UH)Sf=!t#%m#)uLNVbGz<>qNgX|a;x*4U?RDkb9!Rp;!t8X zw>h?*>Ajg ztbsfVgBp>Z%03kgjc7Ce)IVWeEyi!;WULwuYN5_#C+t&CK{lDgrBoqfbEuD))b2RX z0wTW63NZlDL%wBJjIs+!c9HZ)kq=CEhNQ;}ib*+?r8ent_P7~hQ2xpRf42F_CoF#lO59bIk{tJea ze9uB}ThB~y2PiZZo>3uQ2Ohf3OI07!2D^_S3g9C-@CAW%hv2#{?JNtux6%>8)sf}| z+(}mo%m}0p3sMUmyH@FnyDQxyfInR=+!i*tF3BQyt?}-W@5^28#k4FK+G#(Xp)Le7 z^~4ZGJH=UwY>IOfJjF0gl!v2)hbQRhs}wmD3Wb4inLsQ5A1LglTLCK(;AA46UmSys z-`eQpC5+KC28bEEP@}Aan4yNQ9i%W)e1+mkicY$>6uJmck2r+XTyQvZBpi9nyD1Ma z2yq@n8cq=v$aG4Br>S5kQ(!b_3M>j}P74CY5}EV^B=BX;L^E>Bf@qz4*Mz&82 zg=kZgU5-L5bl6~=ruPitB>5A%-HsNRBzZ7FxRk|lH)Vm4&RQJzDA6c^Tw{2TyOvY From 5a9976155d8bcbfd22404a69dd92f3ddf2d318d3 Mon Sep 17 00:00:00 2001 From: hurikhan Date: Sat, 17 Jan 2015 19:43:12 +0900 Subject: [PATCH 10/18] * cleanup window state handling * first attemps in handling ALT+TABa (WIP) --- misc/window_management/control.gd | 28 +++++++++++-------- misc/window_management/window_management.scn | Bin 4111 -> 4052 bytes 2 files changed, 17 insertions(+), 11 deletions(-) diff --git a/misc/window_management/control.gd b/misc/window_management/control.gd index fd746cf0..4929b137 100644 --- a/misc/window_management/control.gd +++ b/misc/window_management/control.gd @@ -25,9 +25,9 @@ func _fixed_process(delta): get_node("Label_Size").set_text(str("Size:\n", OS.get_window_size() ) ) - get_node("Label_Screen_Count").set_text( str("Screens:\n", OS.get_screen_count() ) ) + get_node("Label_Screen_Count").set_text( str("Screen_Count:\n", OS.get_screen_count() ) ) - get_node("Label_Screen_Current").set_text( str("Current:\n", OS.get_screen() ) ) + get_node("Label_Screen_Current").set_text( str("Screen:\n", OS.get_screen() ) ) get_node("Label_Screen0_Resolution").set_text( str("Screen0 Resolution:\n", OS.get_screen_size() ) ) @@ -35,12 +35,14 @@ func _fixed_process(delta): if(OS.get_screen_count() > 1): + get_node("Button_Screen0").show() get_node("Button_Screen1").show() get_node("Label_Screen1_Resolution").show() get_node("Label_Screen1_Position").show() get_node("Label_Screen1_Resolution").set_text( str("Screen1 Resolution:\n", OS.get_screen_size(1) ) ) get_node("Label_Screen1_Position").set_text( str("Screen1 Position:\n", OS.get_screen_position(1) ) ) else: + get_node("Button_Screen0").hide() get_node("Button_Screen1").hide() get_node("Label_Screen1_Resolution").hide() get_node("Label_Screen1_Position").hide() @@ -57,21 +59,16 @@ func _fixed_process(delta): if( Input.is_action_pressed("ui_down")): OS.set_fullscreen(false) + get_node("Button_Fullscreen").set_pressed( OS.is_fullscreen() ) get_node("Button_FixedSize").set_pressed( !OS.is_resizable() ) get_node("Button_Minimized").set_pressed( OS.is_minimized() ) get_node("Button_Maximized").set_pressed( OS.is_maximized() ) - + + func _ready(): set_fixed_process(true) -func _on_Fullscreen_toggled( pressed ): - if(pressed): - OS.set_fullscreen(true) - else: - OS.set_fullscreen(false) - - func _on_Button_MoveTo_pressed(): OS.set_window_position( Vector2(100,100) ) @@ -88,12 +85,18 @@ func _on_Button_Screen1_pressed(): OS.set_screen(1) +func _on_Button_Fullscreen_pressed(): + if(OS.is_fullscreen()): + OS.set_fullscreen(false) + else: + OS.set_fullscreen(true) + + func _on_Button_FixedSize_pressed(): if(OS.is_resizable()): OS.set_resizable(false) else: OS.set_resizable(true) - func _on_Button_Minimized_pressed(): @@ -108,3 +111,6 @@ func _on_Button_Maximized_pressed(): OS.set_maximized(false) else: OS.set_maximized(true) + + + diff --git a/misc/window_management/window_management.scn b/misc/window_management/window_management.scn index 635f6f6f28ba59ae2a8af372b4d8e9d43f5e397d..3d62d4ecc14d44d7cc6d425432a75a4460d991a4 100644 GIT binary patch delta 2212 zcmYjTeNa@_6+iDi;DL)kU141i_QFb5Km&+&4SsOmzTJJGF|m*o7302LSYZ`*3Cn_2 z(p}UUztRx1)5Mk;yK4FsrfE8H+GdyuTWCk8P9`(89n#$G7e;FrQnf4pL6#BV^Go7f{XUY5LG?_iM`j>jTU9MeM}7dy8Ry!Qi}1~ zbSZ?ZZga8JeGp4s`-Ktz+C?!u9QB95%bd764eqzI01_?0vw#;Dwtb0jDg$^5`&{|p z3w+@?C=T|=s;`3YslDQGFk15tm)7oZRF>2x^%C5PEqLSlYV1HrTh882%-|?m@HcBN z)?Tb!`Nt11z6!Sr8{B#q7NDdw!(ip2)bERi?cF$pfTbwG(VE7-s{rf~7AYI6r+D7_ z*1rppgQvps>#sWIKCRs}hYcv{`*6&?6^qaWO^MTYFc>-Wk7QJ? z>uH@UKm8Z=?Cdm_+fRVMuHzR4t`E}XZ6_uFKp>>OeBvjE@9P%nhd;1xPg5dq*Q#fh zNBbh9zTTlw4~W$1xdIK;;*igz{3R+f6zUCyL1cyLGRR@3fh$g3)ahIA}tgJ1I; z8#Iz))h%in?5Y}t=2S7f!Qs4Y9J1k1B%HRwyl%yMOs9&4#6{gB6aXvMU&;2Vkyv;* zRW1P2o47EUwm@S1sE~M1-zF48dYjO|DmO2kz)|qA)En?&>N@;hUk7F`uH$eyT`N?( z$A1bNQybtDeFGPKbb^-ogv6r0h6|l!NS(@kd?ZuZY08diD3Ut5%RuULP zaJ}j}J$oVf;j(gn49k>V=yY$wLRT5euHRyvJBqUVHa01f^!^jdco=2XiZZNV!`Q(k zQ1Vg2No?Wrq^VAbaiYB}3p^Axt=!_4 zX`G^tnnD?;TuZ`Rra)s!ya}xo^C;yTy~dXR*N^R_7hPwxHF! z-q-4BQ4ckzR^Qse%O1Kr?#Z8CyD9Dk==%}uW3sjYT~wd_Brh?!bp{U5dhdfTC2Lyi z4T`!i=#Y@XPX%;9AXOtnH~CFc6>lLZX6RwL@Pt9eY5v1o*;W8(h8%zm0Lcf-YvUFs zQSButB-u-nL$Z&mUikmBqRp5UWa50p$*_a0CbFI*$z@WOPM^&p-A}BIl32#1%m;JWhE~ZERXM@)VIJUigFU?AivEdbi+_LNnj;uCjX{P)Qnd$ z^=3H8X1-n#)G{q2nc6m)UNH^-RN4s*`T{LZl?_ z9DY8IQG*S!t47?s)8T2MIFCkgo*9EVl&LbqVODon?)EmR4sR3Df(tS+vv=Cy`~NrN ze3>I-HhbenLT=VMA9Yaw#xr&^WV3qhRu0{1VLGsEIW*96ie1?dW+oV5os#xFs#6W! z6cJXGwrHP`HpoRw>o-VwnH0!lCQ^rJ)aV*D^yt!PS{jFqQTr#MF>;pLJK9y_*W|x| C0H$F8 delta 2291 zcmY*bZBQG>8Gi3h;s6mud)R{&4qb zr_)FM~qFFk`+ zRm-x%TE%Mkw$C5zAt!B%jqfYDzKmqOKO{X9yvWq_R(_HA(qN5ki<`ON!9K72J>@kf zqT0_?zM@n>)b}HjEjGyac;7(3Iu!BsDbF(leYVe6C0=|1O_e3!4LrLlTjZ4~gLj)6 z4V5p0uyP{4%-806GnwmK&3Gj;JUXKp3*LRB@oSA+0kz@YZag0Pm3#(9z*fnVJH)>g{ii>^yQN>F|F@Oj?HHh^m1DN^H{_>zRXL z%}nOtsFp`26B>}F9*y;n3_`7zUrI-W(q`G+UI7plzW|PW)ZB#@&mr3g8}Hcfs{v$EhbvPcpECf&ouC;&%QrXQ$CF|&9>p#f z3tskb|2<{*~|Br*2ejoWfeNNMQ_TaS{KSW^?h+=14GFUsDrM!~GGp=kd;tw*@9C z((V3Axwf<@;ubKGEUs~&r)R{QtYS_|N);PFBVjr2HEvZ0gWJ_)DZEedb6Ro6)?hSr zD3~f$c8Pb5jiH0Vjy8=cga;ZF8n%WKsjQ+{Q_>1Qjep9fj53~f{o3GB`&Ck&TV4jW z$s_Ptat%CCp4KudU~RGj49anI!&cXb@-+i<%5scn>W8gAq=xI0g;1!pNZau@seGnV zR_YiuDL-)iHa-T?6oIcs2AQ}(&qanb5QzlC{Z#u~d?LnRwnCVENQq1>vF=zplA}Q4 zFEXh|l?qk>NbaL88oZY*XW*FfV~z39<7D*UU5#;4#yM$a&O+Fl%SM5a7Pv?L2oIA$ zauvW_Qs93c!8PW3Y4TMpMw7+??nVw9AdjrT8ch5uJ1Z8!V#p*FSSRj8vv>-5*Uzw8 z?m}Kn<9f&?HOR};$YVG1QUUU?jFe#;9ZAfgBb`R4#-EnX(T%*0!{Tm~pn%9Y4i>`W zxO5!H_-KKqJ6Y zXrP7iEy7X0S?BH-aDk;SJ{ySC{Ry~|JV?~*p|=DtMiZE0akzM#Kpk~B;WBH^3Gk2v zUWX>?xDUIQ#?8BKXf5+NMVZu~+2>)K_V~OsuD^C`?eo%Asy3O=Y)0&F-kKwdvZ7uFX=d(Wz_Olk;xNpDa6J2dS3N zyS+ zEib~fGcIGY}Vk67pi`|0x7AwZoS)OnU(elrN706~%o4+*5}1TF^vGM}Vj z1w}pKU>)HSzkH->e*xtZg_&XxMFvGXP1pRtvtyY)JMe^CnqS`uSWk^lQ)E*3C=3*S z+VQ`Mz;e9?u#9f~E@FUviM_ej*lwC?18k(J*3mIm(LPU57oX+?T%V2#cs5-lKqtAj zly|Y9uX~yoTo(E@^fsb#6DrJ8bCIKA8DJCZE za)W4=8!&c?W+eO@H`|}VfbQE*-qDActFd1ZTsGwJp(wbWbQt$V+RS#-BHAFpW5hYf z*&7=~!6nc(aFJ7b=N{7Vf1R%gb3=B|wX{tDqm}o}WYF6&te^Bppq6kwnBTYq!o&o< zg!3Gyi8#;#eIy4|!lf*p+bIhi&{#{;qm)D_fh=O8G)kjK9;2*Z7fnmz0F5<}v&099 R$)w-)`qSFhD(QbZ{{nadx5@wj From 3f2a850267c6e73b6b20ceee7b6771c7a99d6bff Mon Sep 17 00:00:00 2001 From: hurikhan Date: Sun, 18 Jan 2015 00:28:04 +0900 Subject: [PATCH 11/18] * multi_screen testing + bugfixes * ALT-TAB is working * tested on Ubuntu 14.10 Unity + LXDE * minor cleanup --- misc/window_management/engine.cfg | 2 ++ misc/window_management/window_management.scn | Bin 4052 -> 4030 bytes 2 files changed, 2 insertions(+) diff --git a/misc/window_management/engine.cfg b/misc/window_management/engine.cfg index 2accafe4..6ce3d51a 100644 --- a/misc/window_management/engine.cfg +++ b/misc/window_management/engine.cfg @@ -8,3 +8,5 @@ icon="icon.png" fullscreen=false resizable=true +width=800 +height=600 diff --git a/misc/window_management/window_management.scn b/misc/window_management/window_management.scn index 3d62d4ecc14d44d7cc6d425432a75a4460d991a4..baf03bdfd16bbff6221d71f493bfcd44e5d7533a 100644 GIT binary patch delta 1166 zcmXw34NO~A6h800($ba=u%m^#(%V)BE#P2(onwyE_CYCR&cJ5P$Y=`|sFb$!wIe}d zftj%_Go5)#;%1bo7^BPLUv$QVbzqFTX_f_zh8SO&*|Ma@IATnUI&Y`m=oR^^q3GTQ&*(rAtCKSER zyprP%;w?1Qf6ETXhP=;9vTDpQ@z{wqaZFL4erVZv{4@8-rBBdkJqp2k{`_6n$62E{ z#RW(E!=C=5Z;VI*J$L5Cs=ZlS*6Vini6UV*HtrvKaF-_6|bM(z`QaMItGXj*OjQhX!<)z$Q_#94kF>x0voV&%Ji~BT6 zI>^v7kO;?vKNmFSrg-vy~NqkV&{>QHigr zTFlK@>bf5lu8UaD$56qq;x^}5YQIJWj!;`H{;e`qh0zT&Y?N!n1N9u4t}TLJQ3U*n=_xxdAP{mfNC*LGrfv-Ujc%8zU_!6o@eS z0PYf4bJX(nIZoT=$qCxFONGdjxxL!<7Rt4|DaW`V*Q|vR((+%rrc;TY8(+Q|Y=+|%lN VS}17GZDwp#XZv#NLg>Ml_-bK*;CFC zK4o8HkB3G~e_5hzGCpbf6$jXvABiu6Mws?IixnKe-}ZuoXBc@p>9U~;1Kd<3l<9YA z=c-U=4Ow4D18y|jS@;QSxxK4aAHpc#obB7xo%-IsxUq&h(@F3*4}NmMc0H%_yutY=0ulF#lOK*h z@Ts};=W34R=uIv)*-w|IM&lW8I2kz(EUlJeh5{`UP!LYBFU6CQa3lsSDa&a=O61b% zSjeA*A|m6qZr*$j+o6=mJX?kL1&_?A z7yvmv+?9?-=fXlp*2+8VxkX^EGa-SgFp%n+S$L)HiQC&UaUX$lAp!b1`e&XpW8bYq!Ki@fa` zHak+tJGQaY`T-qpA&=w8+iQeJCHfja+M$X#a0%3e$0hq2TyosNO{ezr7WtcOwWNmb zco3uj9h4j*90DB1A|m8UZz=LA6<*A@s$hhy3s(+!vUkQ`#8kl$A*=8&ft?<+vp3JF zoNl_*xn5Al@-c@Tx$hAO4jy0wdTA^<;qeO9As!GWdJ{LS)r_<&>PD k1Y|@`X_BIwrn$gV`zYVX$pX3`QEQqm<^~1_?1f+HKgY#oAOHXW From 3adbbb03f7632aabc71f181935bf1e62d8d768da Mon Sep 17 00:00:00 2001 From: hurikhan Date: Thu, 22 Jan 2015 01:14:50 +0900 Subject: [PATCH 12/18] * fix compilation without scons experimental_wm_api=yes * Extended the demo with an addional MouseGrab Test --- misc/window_management/control.gd | 6 ++++-- misc/window_management/engine.cfg | 7 +++++++ misc/window_management/window_management.scn | Bin 4030 -> 4268 bytes 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/misc/window_management/control.gd b/misc/window_management/control.gd index 4929b137..6dc92821 100644 --- a/misc/window_management/control.gd +++ b/misc/window_management/control.gd @@ -33,7 +33,6 @@ func _fixed_process(delta): get_node("Label_Screen0_Position").set_text(str("Screen0 Position:\n",OS.get_screen_position() ) ) - if(OS.get_screen_count() > 1): get_node("Button_Screen0").show() get_node("Button_Screen1").show() @@ -63,6 +62,7 @@ func _fixed_process(delta): get_node("Button_FixedSize").set_pressed( !OS.is_resizable() ) get_node("Button_Minimized").set_pressed( OS.is_minimized() ) get_node("Button_Maximized").set_pressed( OS.is_maximized() ) + get_node("Button_Mouse_Grab").set_pressed( Input.get_mouse_mode() == Input.MOUSE_MODE_CAPTURED ) func _ready(): @@ -113,4 +113,6 @@ func _on_Button_Maximized_pressed(): OS.set_maximized(true) - +func _on_Button_Mouse_Grab_pressed(): + var observer = get_node("../Observer") + observer.state = observer.STATE_GRAB diff --git a/misc/window_management/engine.cfg b/misc/window_management/engine.cfg index 6ce3d51a..c53bd45f 100644 --- a/misc/window_management/engine.cfg +++ b/misc/window_management/engine.cfg @@ -10,3 +10,10 @@ fullscreen=false resizable=true width=800 height=600 + +[input] + +move_forward=[key(W)] +move_backwards=[key(S)] +move_left=[key(A)] +move_right=[key(D)] diff --git a/misc/window_management/window_management.scn b/misc/window_management/window_management.scn index baf03bdfd16bbff6221d71f493bfcd44e5d7533a..40e6e64cef93a1b4cf0c8dd4d84a91c40582b950 100644 GIT binary patch literal 4268 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 t-kTQ?LcM7d)xruwA0`;5I_croJgk_9wg= Date: Thu, 22 Jan 2015 01:54:17 +0900 Subject: [PATCH 13/18] * observer scene for the demo --- misc/window_management/observer/observer.gd | 78 ++++++++++++++ misc/window_management/observer/observer.scn | Bin 0 -> 1786 bytes .../observer/observer_hud.gd | 98 ++++++++++++++++++ 3 files changed, 176 insertions(+) create mode 100644 misc/window_management/observer/observer.gd create mode 100644 misc/window_management/observer/observer.scn create mode 100644 misc/window_management/observer/observer_hud.gd diff --git a/misc/window_management/observer/observer.gd b/misc/window_management/observer/observer.gd new file mode 100644 index 00000000..7bec0f53 --- /dev/null +++ b/misc/window_management/observer/observer.gd @@ -0,0 +1,78 @@ + +extends Spatial + +var r_pos = Vector2() +var state + +const STATE_MENU=0 +const STATE_GRAB=1 + +func direction(vector): + var v = get_node("Camera").get_global_transform().basis * vector + v = v.normalized() + + return v + + +func impulse(event, action): + if(event.is_action(action) && event.is_pressed() && !event.is_echo()): + return true + else: + return false + + +func _fixed_process(delta): + + if(state != STATE_GRAB): + return + + if(Input.get_mouse_mode() != Input.MOUSE_MODE_CAPTURED): + Input.set_mouse_mode(Input.MOUSE_MODE_CAPTURED) + + var dir = Vector3() + var cam = get_global_transform() + var org = get_translation() + + if (Input.is_action_pressed("move_forward")): + dir += direction(Vector3(0,0,-1)) + if (Input.is_action_pressed("move_backwards")): + dir += direction(Vector3(0,0,1)) + if (Input.is_action_pressed("move_left")): + dir += direction(Vector3(-1,0,0)) + if (Input.is_action_pressed("move_right")): + dir += direction(Vector3(1,0,0)) + + dir = dir.normalized() + + move(dir * 10 * delta) + var d = delta * 0.1 + + var yaw = get_transform().rotated(Vector3(0,1,0), d * r_pos.x) + set_transform(yaw) + + var cam = get_node("Camera") + var pitch = cam.get_transform().rotated(Vector3(1,0,0), d * r_pos.y) + cam.set_transform(pitch) + + r_pos.x = 0.0 + r_pos.y = 0.0 + + +func _input( event ): + if(event.type == InputEvent.MOUSE_MOTION): + r_pos = event.relative_pos + + if(impulse(event, "ui_cancel")): + if(state == STATE_GRAB): + Input.set_mouse_mode(Input.MOUSE_MODE_VISIBLE) + state = STATE_MENU + else: + Input.set_mouse_mode(Input.MOUSE_MODE_CAPTURED) + state = STATE_GRAB + + +func _ready(): + set_fixed_process(true) + set_process_input(true) + + state = STATE_MENU diff --git a/misc/window_management/observer/observer.scn b/misc/window_management/observer/observer.scn new file mode 100644 index 0000000000000000000000000000000000000000..da29ad62b8d0d7033ef8c40af78e0fd7b4602ad3 GIT binary patch literal 1786 zcmW+%du-dr8UIMiqAfq<*p}sYPI8>2%R`>yAcfsVA4U0*HdrznScVQ8Ns(unHAN~U zWk+_9DREmT4GI(pnk`L-DP0F_U6En!iUBP!uray@TldFMU~d#$mMjDI$j}vAk)g=W zJ>Y)deIIzg`(C`8o0nzS8tnkrTLErG0XTpf2V5QcPtoe)35%TRZ-_>ky!EsB_NfNPT z(=!XEW%|{O8sjXgcDI>!x#DMBt*VqweM!S^=qCGW-EF#7_A4$`99uD5t*CCsyhW`{ z72T=WzWNi<(yG+;po@&R>5gTY231x}e=+0v_+1W?p_qiFAW+YQk+Fzt7EL2;`g~Mh z)Lc#XQvln7qcP8P>`X~>i>9q5&i>$?*QIe$QA*U;6h-|G$f>)6t3fk494))flT`Of z79iKjFF4CuRj{e%*4l|Ey(%tIT2?f#O!jclNDf8xitAGH5yVOJwJa$0`?z1E_Oj_Z zb_vsXCc3CN3kx2twZL-FlIsfuuXo@txQazSl=;-Vg5j)e zwS`iPHDwIVU81&W7uAV+7pw*WB*+&+=;S@iNjHI){_D8|^`2(xm6TG&^3AekrryY{ z)q5KYR>ftt^}KW_#jaiC99J77M>$u+7W{Vow+*glm=#Zz>)RSM-=}sZ{X{B|$E2&n zPvzP<5XiUWFJV&po1i;;BpY&GKvgVqa?RzjpM&)C2Jb>KU z2>U^@5Jn(O#N|798ASxN*c36D+lV+F>k~bs3*-4#n7=(x%1`1Hz6HJHQBF}_KFF7? z%5Wbj@;XPo;YcX#4*9QPH@<*bY4*l#oM%oXpWc6V8(zcYo$f|fqG@g{uTpG7LAu;j zHcwGY@ocTEo@QtEp&+a}PDzUkYwO3e*e*SvelKj=r;WqHxfu~|UEZ|5dHx2DqM$y3 zr*j6jV>2A6otIz34*5O7pbM6Kp+RvSU#Y5d{OR8jbp_L~ns3IU0B~R4+K?YbktyRj z?8JhwY|@pfb7u(-N?(?Wn8F*JVWyttZJnwE!p)z4UBaHJf50hRQxp6@=SI{jCZHNZ zf}c2WNljpW$A8lQ8=jM1f9DxFl*nzNhTB;v2HwT(J5$j`r|8(46-I{eHLmPDwb?9< zFJ-%~{Wy!4TC!nRz&xoTeg$6*xqxLW@tMFx*vK^O33EXxK=^48dV%!Esh@8SKJ%vh z?2Wf^aCjZGoqIvi&lg?{24}x0Xr+R=Ypymp^242fP?N%oS9%X`k&m3gCHX?sTXa^G zqPu%a7J?)4ztvuFW;L+GNPlhyc)kmtyN`Xl*! zoN`K^<|n34svA>3y94Jrw=(iHPkn#a@pm`y3Qpq-QN7~%PD$B)6FjvOHzWJl<>x*5 zF^(Nepg;5^C{;5&y zpT59s_i?+_h2r!iiqgYuzJime Date: Thu, 22 Jan 2015 05:35:39 +0900 Subject: [PATCH 14/18] * Cleanup for PR * Demo shows a Dialog with not implemented methods at startup --- misc/window_management/control.gd | 68 +++++++++++- misc/window_management/observer/observer.gd | 1 + .../observer/observer_hud.gd | 98 ------------------ misc/window_management/window_management.scn | Bin 4268 -> 4744 bytes 4 files changed, 68 insertions(+), 99 deletions(-) delete mode 100644 misc/window_management/observer/observer_hud.gd diff --git a/misc/window_management/control.gd b/misc/window_management/control.gd index 6dc92821..d329237a 100644 --- a/misc/window_management/control.gd +++ b/misc/window_management/control.gd @@ -19,6 +19,9 @@ func _fixed_process(delta): if(OS.is_maximized()): modetext += "Maximized\n" + if(Input.get_mouse_mode() == Input.MOUSE_MODE_CAPTURED): + modetext += "MouseGrab\n" + get_node("Label_Mode").set_text(modetext) get_node("Label_Position").set_text( str("Position:\n", OS.get_window_position() ) ) @@ -65,8 +68,71 @@ func _fixed_process(delta): get_node("Button_Mouse_Grab").set_pressed( Input.get_mouse_mode() == Input.MOUSE_MODE_CAPTURED ) +func check_wm_api(): + var s = "" + if( !OS.has_method("get_screen_count") ): + s += " - get_screen_count()\n" + + if( !OS.has_method("get_screen") ): + s += " - get_screen()\n" + + if( !OS.has_method("set_screen") ): + s += " - set_screen()\n" + + if( !OS.has_method("get_screen_position") ): + s += " - get_screen_position()\n" + + if( !OS.has_method("get_screen_size") ): + s += " - get_screen_size()\n" + + if( !OS.has_method("get_window_position") ): + s += " - get_window_position()\n" + + if( !OS.has_method("set_window_position") ): + s += " - set_window_position()\n" + + if( !OS.has_method("get_window_size") ): + s += " - get_window_size()\n" + + if( !OS.has_method("set_window_size") ): + s += " - set_window_size()\n" + + if( !OS.has_method("set_fullscreen") ): + s += " - set_fullscreen()\n" + + if( !OS.has_method("is_fullscreen") ): + s += " - is_fullscreen()\n" + + if( !OS.has_method("set_resizable") ): + s += " - set_resizable()\n" + + if( !OS.has_method("is_resizable") ): + s += " - is_resizable()\n" + + if( !OS.has_method("set_minimized") ): + s += " - set_minimized()\n" + + if( !OS.has_method("is_minimized") ): + s += " - is_minimized()\n" + + if( !OS.has_method("set_maximized") ): + s += " - set_maximized()\n" + + if( !OS.has_method("is_maximized") ): + s += " - is_maximized()\n" + + if( s.length() == 0 ): + return true + else: + var text = get_node("ImplementationDialog/Text").get_text() + get_node("ImplementationDialog/Text").set_text( text + s ) + get_node("ImplementationDialog").show() + return false + + func _ready(): - set_fixed_process(true) + if( check_wm_api() ): + set_fixed_process(true) func _on_Button_MoveTo_pressed(): diff --git a/misc/window_management/observer/observer.gd b/misc/window_management/observer/observer.gd index 7bec0f53..d27912a6 100644 --- a/misc/window_management/observer/observer.gd +++ b/misc/window_management/observer/observer.gd @@ -76,3 +76,4 @@ func _ready(): set_process_input(true) state = STATE_MENU + diff --git a/misc/window_management/observer/observer_hud.gd b/misc/window_management/observer/observer_hud.gd deleted file mode 100644 index 24e81b02..00000000 --- a/misc/window_management/observer/observer_hud.gd +++ /dev/null @@ -1,98 +0,0 @@ -var parent - -func printdebug(): - - var s - - if(parent.state == parent.STATE_GAME): - s = str( "TIME_FPS: ", Performance.get_monitor(Performance.TIME_FPS), "\n") - s += str("OBJECT_COUNT: ", Performance.get_monitor(Performance.OBJECT_COUNT), "\n") - s += str("OBJECT_RESOURCE_COUNT : ", Performance.get_monitor(Performance.OBJECT_RESOURCE_COUNT), "\n") - s += str("OBJECT_NODE_COUNT : ", Performance.get_monitor(Performance.OBJECT_NODE_COUNT), "\n") - s += str("RENDER_OBJECTS_IN_FRAME : ", Performance.get_monitor(Performance.RENDER_OBJECTS_IN_FRAME), "\n") - s += str("RENDER_VERTICES_IN_FRAME : ", Performance.get_monitor(Performance.RENDER_VERTICES_IN_FRAME), "\n") - s += str("RENDER_DRAW_CALLS_IN_FRAME : ", Performance.get_monitor(Performance.RENDER_DRAW_CALLS_IN_FRAME), "\n") - s += str("RENDER_VERTICES_IN_FRAME : ", Performance.get_monitor(Performance.RENDER_VERTICES_IN_FRAME), "\n") - # s += str("RENDER_USAGE_VIDEO_MEM_TOTAL : ", Performance.get_monitor(Performance.RENDER_USAGE_VIDEO_MEM_TOTAL), "\n") - # s += str("RENDER_VIDEO_MEM_USED : ", Performance.get_monitor(Performance.RENDER_VIDEO_MEM_USED), "\n") - # s += str("RENDER_TEXTURE_MEM_USED : ", Performance.get_monitor(Performance.RENDER_TEXTURE_MEM_USED), "\n") - # s += str("RENDER_VERTEX_MEM_USED : ", Performance.get_monitor(Performance.RENDER_VERTEX_MEM_USED), "\n") - s += str("CUBES: ", get_node("/root/World").world.size(), "\n") - else: - s = "" - - get_node("Label_Debug").set_text(s) - - -func _fixed_process(delta): - parent = get_parent() - - printdebug() - - if( parent.state == parent.STATE_MENU ): - get_node("Menu").show() - else: - get_node("Menu").hide() - - - -func _ready(): - set_fixed_process(true) - - -func _on_Fullscreen_toggled( pressed ): - if( pressed ): - OS.set_fullscreen(true) - else: - OS.set_fullscreen(false) - - -func _on_DebugInfo_toggled( pressed ): - if( pressed ): - get_node("Label_Debug").show() - else: - get_node("Label_Debug").hide() - - -func _on_Save_pressed(): - var file_dialog = get_node("Menu/SaveDialog") - file_dialog.clear_filters() - file_dialog.add_filter("*.json") - file_dialog.set_mode(3) - file_dialog.show() - file_dialog._update_file_list() - - -func _on_SaveDialog_file_selected( path ): - get_node("/root/World").save_world( path ) - - -func _on_Load_pressed(): - var file_dialog = get_node("Menu/LoadDialog") - file_dialog.clear_filters() - file_dialog.add_filter("*.json") - file_dialog.set_mode(0) - file_dialog.show() - file_dialog._update_file_list() - - -func _on_LoadDialog_file_selected( path ): - get_node("/root/World").load_world( path ) - - -func _on_Server_toggled( pressed ): - if pressed: - get_node("/root/World/Server").start() - get_node("Menu/Client").hide() - else: - get_node("/root/World/Server").stop() - get_node("Menu/Client").show() - - -func _on_Client_toggled( pressed ): - if pressed: - get_node("/root/World/Client").start() - get_node("Menu/Server").hide() - else: - get_node("/root/World/Client").stop() - get_node("Menu/Server").show() \ No newline at end of file diff --git a/misc/window_management/window_management.scn b/misc/window_management/window_management.scn index 40e6e64cef93a1b4cf0c8dd4d84a91c40582b950..bf7a0871e7c6ad7c8ab50d4335408fc8eb7f8867 100644 GIT binary patch delta 2736 zcmZ9OeQ+Da6~LeF&N^FmEC1->J zbwVfG`2s1Jkc97|0fx*_Jh+q&W=b0m%^wsZ>;mO$7)m=W12m^N1OgNaDP@|LNmqjY z)0=s3b?@!%zJ2evyL#Gw+*vm`B#MxG$^c$%2Uz3*&YA)IEWkndN%e~yrvUu=>=SHK ze5$}d5sRo3v>0Y`4qi3N$l{+2 zAcpz=bEd2T_TD`PlRS0X-wbQ*ZT~W$*1KphT}M8JcB8xwHX2YTY!*rz4})$$VglA) z+WRF|dTwd>mWj&2k!ye@)$X5Vsv+9YXE4>C%UF#L(^SCK%S02pav26lr-#dc?+gc! z>H&iTqulCC;X^_b9>a0>G|0i-$pS4d$0Cz!H=AVL;WMdv(=`U$12!_+s2=Lz@x->pw`RB{Y)4kP z0S`;BVHp-fN9uT=fmca>CZvuw-tPK@iED|bK>AWaTk@MD*P>H6E~Lk`t=WSZJ1#Llaa*y-R_f_+P)?>FfkH#xl*;xDJG)D zl}h&HBdfb}!#X{Cl9+937@m*nTGy4d(Fp{R>Ho2bhWU z9U#o-gHGiDeox4jjBoHyU zy8l6vCPiD5P-=gmLFIB~mxFsp4(Bjf>f+=HEu;p2k*S4Mq$|&X@}?b zrA|rPEDrCZ=)$BWIH@PJ2{{lS(-j*o733KSHhiqC%t4Zcx*Q`PmVChlE|s~yN-@{J6P{z zB$E1Ic0I&q9q`nLa1^|2uV+I;;e$s*&e2&rT&71LHxQ17CkTPitY|6`Q={NiKM)Qv z1A+YpXNOI++kj!RgXSDaHy6L3EE)!1YCQuL(vhzrt6YupiXTSQfUc4el>|alVaG#E zYisN5X?T8i6FfM}n+$ZnUN}#2-8mlC31Q3ul0WZz_d@``TCriLswXx`>V#&o_!DS% zv|BHAAo z*Ln((r(Nfyza!tj1|Nns#6@*2;nCHfe!1k&N&7Mbu%2!-_yOJdR|wGE&x47um^%+R zy17}Xq*6kqiduQ7p?({ETSHimcBg}}lzJBGsMx90=f0)u1G;em9GL6WKXT6qm*k8^zC0~Jc zq?0<`HtKZ0l5=e#^ZC(4T8U-%c4`;XM#C~}C1;^4HxpdJ$Ie&ka2;tD-;o}pnV-Rr zsPM>2Y1$skU9IPBGt!XwI`ZPa^Xwt6n`WwrE~AIA(p@Hm6b}MjOTU{gvK~aji>E=F zLWa?pf>p3oL~b#Da%z0&tyAno`o!H^VFpGTDR5v zj%C|y%r=1RR+~_Kj&=Duv%0PK9cqPvYvmr={lwQnUB3BjvkeCAR@gzq zqeFTcF0j+S_k6m)`E%CQ`>B8Kl|#Lkq#i$?tzmKaB0sln{vtaMLnKWj+evu;FfBs` z(mIQCu#52I6kMUXW*7Y57{v?XTeyJB*x^s(g7277vw+EAgI^ffF4Tx~eVwAKcS)?r zO81j!bvI+Zy8+)3=8^9k_MXkMr~UoHcC4qu(Xv#dOB}GdMIT=KiMs7u2{cO8@`> delta 2118 zcmYjTYj6|S6+YTsYvl*Fh_H=>WnI~prTBpiCNaUpoPGEOxE<^OEg7n{W!VUf1d?nX zNh1MC156rHwrK}Ct(_944KVaE?Jym8g20`ool;sRZIcd7du>61tE0XPURVEsra}H=2l!DlfGGn6tN=HJFI8WW;Bh8?FLzcTOwj7k8Rb-*Ryfl$~| z5Kn~mjE(!=5<pl)ayE#U>Rt={ z#=GR_9&Aw#WtP5EC^{Zg&0iHbH=n`?0&PTugZ`}my*B~8F0?CK>q~fHGu8?5k!1L$ z{K9konVSs{&0q_P#x{IXPoN!(p*3@K{ZV{C`%oB;jMO#xPYQ{6Do|*4Sc7cx&?D$m zjw%`S;??>VNco%)F{;G(FTStf($3Z97p)$p9TI~NUAffz1BJC0UUwgxPc4Vt#0?GQK?HKIYYqU!6vG?GbTs zd@OZ-m3lhs?)|kmxO*sCb0g#SO$cN0gi$G;KIQDlPk*^VJ64d~5#JXYZQ9MHUhS^o zY-sicxwK4sS~wVsoOwt5<+W>%;-wAS&A418h0ksHp?N}HI=rp%6$mxHd^~_NQu7$A zO9sA9iTSiP)OUVPSxe>Y_;ZQv=xGQU44djc!snHKjLnOOpo;a}F1!4x*E>I^DsO`Y zg&k$`6uPKiMW8M%AmC)8({$UM4K7wiO(S9eWF{93gcH#{DWd`eR*Ds1W3n|oo=8Mu zDWk#MW^=g~B_hc+!C-tS8A(h;5*%#8^3h?V2KSmz*+$ank|&~(eS6}GROU_Gr1%vN zDRa;=9QCR~ES#6-XRoG78n7}|+8-h%jdJ0GexLCQmcs!K<-(d)(m_O zyLwWl9vX{|?ntR`TS5nnYT?P>v!Qp@lfp=R!jLI!m5M8&lohg-QeNYb(Khsx84=wx zN2Jj1_;4ir?W`M?u=WMfYn_?)f>1dA|EderHAY&yVN32iU1> z{+eEB1ci7a>TBZC3T}HB_8Y$w)^zPPc3KtzHQY#1jpep^tY}$7U5l|;OQSvu)p^lx zm&{AyL?jaP%_GxaJ9|gJuWZ572+BG0dQp9qWihaCjg(r$@mMMmAM28|Yv{-4;Q_{e zYL*r+-Evs(Y8AW2$Hp>mO*O!tsTw#pG^(^gSN#@ocp!T4nG3#)Q(m}77m?H#jYW4e z2E$XDr9{h&fN$uJs0n?8`?=(WRTS38EnbNGUNoO5{zF>asy>BxA?B?WlEB!LaLfBK z+@AtgY5mK>o$}r_Kfyd zl-F0`SLtN<>D$d@^shH>EqWvE&%widc~19pF{cMHO$A;?=0LdR*K&>%xPenh8+$s} zctXFM5BfKE=1AZoY80qrA_!zYGCNs46Hx{~lc9u0jbue+O$*-UDH)d2!mSV_-bVfw zCZ^E?D~MQ0E}6pUc%sAr8i-y^cAv15I7^;G4<3O^R)R@bN^_Qx-$5}|#4Y4RJt;yp zjV8fE3(+LV&;^jOTA(IBA8MI|CU4C_fNA-(9%1QLHpc@wc#ySGZc30po>OvpY7INT zz^L8iS3gaD^*g*a2W#1%pq+{I*1C_AbCu`eQP!x=t8bvJPU9Ui8AbIM^n8|dfjP&t z=9rVG)qiTWQU?GO(hk?rUdk*885xv(9xCnC0~(Vx5%eipk+t*Mq}gY$c4?E;)DGxn zwtOM*@@%U^dv8{B=xyc^`^M##hhcVw12(euPiUohPV|#pTl1^W?s9a$J{R;0eE_p- z%@6Dy>D=1(o<{nGp4Qo?tI$nZU-s6WBtacbvf1JlIa)Gx?ak1U{Sh{FcBrUMy6K{R914 I{?EgI0O~t+00000 From 9a60048871e43e013677e0985c8c834e804e7a90 Mon Sep 17 00:00:00 2001 From: hurikhan Date: Thu, 12 Feb 2015 15:58:00 +0100 Subject: [PATCH 15/18] cleanup + MouseGrab --- misc/window_management/control.gd | 2 ++ misc/window_management/window_management.scn | Bin 4744 -> 4850 bytes 2 files changed, 2 insertions(+) diff --git a/misc/window_management/control.gd b/misc/window_management/control.gd index d329237a..50fc3a37 100644 --- a/misc/window_management/control.gd +++ b/misc/window_management/control.gd @@ -28,6 +28,8 @@ func _fixed_process(delta): get_node("Label_Size").set_text(str("Size:\n", OS.get_window_size() ) ) + get_node("Label_MousePosition").set_text(str("Mouse Position:\n", Input.get_mouse_pos() ) ) + get_node("Label_Screen_Count").set_text( str("Screen_Count:\n", OS.get_screen_count() ) ) get_node("Label_Screen_Current").set_text( str("Screen:\n", OS.get_screen() ) ) diff --git a/misc/window_management/window_management.scn b/misc/window_management/window_management.scn index bf7a0871e7c6ad7c8ab50d4335408fc8eb7f8867..14d0da04151608996f142d02c9c55befed508601 100644 GIT binary patch delta 2672 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 Y$qAApdh-@8L|?0*uzP5?r2WnOH?IyR(f|Me delta 2533 zcmXw5e^3*57Js`NSRhEyD5wbeh7f~*fJFu?THj{#gMb_rw47R-4IyGQBs3eu^G6f> zF=%UB?{?I=I@O$X+MCiTR;K44y`B_m)vDukyt}!M*JDG}R_onWyGZ*lvAa<>tc@Ro_5?X%OGd zaP{^De7$6k^(GUvnRhdx9`7Ai@OsPs5YM;Y(e#D-`umJ6oHx)fn*&lAJKztR4|6pU zf5e#YI1bUZ)}v5T`i1rC>4GGq-}|T1eUA6K?h!2%tC@=@K31Vh%_P%sSTzS)n#)3s_qylWgRrq)C zp8h9xAdD9tdNX!@yavyi4U4Lbvo8-|tuPpk&ApqwZP6Q8if-m9oAeUqAt!8tzS3SU z;Fg1?2k1kf!EvzDG78XK$7TQa)m4};bS~^xvln9-8`>;)*YS90^~Cjknn|ohPTGLG zZJ%R4YN0N6uvx`fHW%CN+g!Haa*qv%BIO=zXLo-|qybdcWSWhx9|oUBvv5#|p%Et* z9)yVbMes=rxcl$l7jUlqh;lsBP^m!JQ*SNAYMWUgnZDq5e>fDht&rqvQgvi4R!mxzZ@@y*`$&4^mh46zlb#|=A5!PoD!WlJ?|DC{>^shTBXJvk?x6<=Z8JG_h7<&GDnt;`INN~GU&a=52UYNY4ugt;W^ zHXKYP=fMAyGbFx=7L4Y2`{hWe*X;@S$dVo>Gtvq2n!b@{rZSX(5=|;Y%B7sPsJNe6 zyvED|W5L@ejh8e5PoL~dFmJ~^Ok9ZZ%y-rpf1t}z$2s}~f!J5^3h0ZM!n?QO05}#t z$8~r3cOK|AZ;l(`F?|a)t^T0Dmk{WVi%hN<+YDykSHdo~)w4s@7-1<@YgHK|gv_m+ zGwkV#YejgTlKqlV$XAB6Wf^;o9~dW;GuncTDQGo4qg>H0Xo=5ZVkafL_-brVhFc8v z2P5%f28dLrGAG6hAvX9P6FVcVWahy5N~V^O>GYHu022Qh{3d=0K9#CKud-DtoK{xk zR`>_MhlKPLx@SBa@Ofk(>GBaz_jZ5jF}Aw8I(`m5jxU9yah_4pdL?Uw&ds%3{4ybI zriY~Gn{x+v@ZpTbYkhKLvCY>T%E@s>&{$fV(@i2Fvc(tZBmVKKvYE>D+-hdO@}Jzf zQP^zS03ou5>mj{9%LA@kUY_H9Nq7XoQWGl!A-{%pasi&if#gYmdBQyL41)L#YA64O zMW|Idz;&cqDxxn}4ILkiqHf%Pm6W!wK@JBXpUhSHM%;!@JA+Q~6zXhw*kE6UI{RVd z*ICbFrTru1>FlYq{Tz8)40&rA@(wq>GuS~lf&!9Dw>p7_@e|_;6cPhQ?ODiE`(fL6 z$hR!O9eQEiI_ro3XrE*o9NHorV#hf@ok7;cya9sfCj`CKTZqbvY)OsBr44 zF{mU8-h?V@eiIf`)Il}j1sQ56PAOaSidRgkTvE8AZcGZVsFoxwRjZTM*Hc`Qa#k_L z)l-i8~`e!9+bK|k3D^`tYk$@Df$(-2i) zSEr2y?KEd;YM_SB8!5Ba#54NOI-R@hUdJg)I--p!_D7Vpk6JCC=pDl;b}U7h!*FhXuv}2JE*f(qQPpy8^Q?k&7F>^1b5EW zBDA4_3Xe}d@6=?_Cd#DEM?z_ceIPC H|91ZcE4ddA From f3cdb0fe70e026d5f62fdd2b57d67d20f5ea28c9 Mon Sep 17 00:00:00 2001 From: hurikhan Date: Sun, 8 Mar 2015 01:27:36 -0600 Subject: [PATCH 16/18] added Label_MouseGrab_KeyInfo --- misc/window_management/control.gd | 3 +++ misc/window_management/window_management.scn | Bin 4850 -> 5072 bytes 2 files changed, 3 insertions(+) diff --git a/misc/window_management/control.gd b/misc/window_management/control.gd index 50fc3a37..7f805a1a 100644 --- a/misc/window_management/control.gd +++ b/misc/window_management/control.gd @@ -21,6 +21,9 @@ func _fixed_process(delta): if(Input.get_mouse_mode() == Input.MOUSE_MODE_CAPTURED): modetext += "MouseGrab\n" + get_node("Label_MouseGrab_KeyInfo").show() + else: + get_node("Label_MouseGrab_KeyInfo").hide() get_node("Label_Mode").set_text(modetext) diff --git a/misc/window_management/window_management.scn b/misc/window_management/window_management.scn index 14d0da04151608996f142d02c9c55befed508601..0cb7030ffc1164ffae0fbb6b719294118e7ffa56 100644 GIT binary patch delta 3899 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 ABLDyZ delta 3765 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 AWdHyG From f3c7c4949cbb7be0113ca52eb934d17250e84a7e Mon Sep 17 00:00:00 2001 From: hurikhan Date: Sun, 8 Mar 2015 03:32:13 -0500 Subject: [PATCH 17/18] fixing a typo in the demo --- misc/window_management/window_management.scn | Bin 5072 -> 5068 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/misc/window_management/window_management.scn b/misc/window_management/window_management.scn index 0cb7030ffc1164ffae0fbb6b719294118e7ffa56..9b963a0a15f5941d7632581cb655a9f6fd50175e 100644 GIT binary patch delta 826 zcmWktTWAz#6h1Tmn#s;|H(Qf!;$`cxg;2`QZgzHe>g-OO zom>pHXumq}Itqz ziZN7$3Co-ub6jth!yddN@5UsaU=raYNUB!UXLLWyftVW5~JrMgrPsFUgj3R_d?! z6Du;Kj_tTcJ2^48>a|8-EZvF6)bq{Nk~5hpx>nu~4XDe;D&BFe^d&#EM){SWu9)W@ zk(-N)JNMvTE&@I`N2+cyXKY8nwSMz5Oc~33kABFg>97PF^gT^g)AOuK@kUMk8g={# zMwf<;YiB;YuRW39#1jZw8~a(r&ZD*-Ci=K-*VOt(7^|n?bMv@-3-tAyNq*RxK01GsF;sAD+oAhOk(SL3<0N105p$mM0aQ|7 z@>QVpGKe$^PwGIU24GZPt?dlF52AE^1lOSC6QH{Bc90U>hS2C$&&WRn)uupD7H~bm zN$nF~=*5HBzxy)wYc95Er}5?2KgAY3hJyMMZqf;R7-2ND8gjqyPBLeK*Vk~YO4Ng)sjmfIv+N=p25@Z<%jFL`C@aGEKY zDT%F|Ftk_5uQ%%=wm}O$6`IP`Y*$OLe~o0cE0}=OJ|x(IUQbJ)0v1)$A45(1bN+3J zQw5heqcUOE>`Gaj5Whme0thsWNqV`ZWEbs9-tt3R!uSJQwH@uA_b9SAhlEUz=4*P9 z0Q@IoTsp@Uj8V%hmR#u>lRK?#Vb46F`l@t}9knMkF2MRE+zl}rp}Rx*am&qVd-Pii z1UnW!TV|?r9q9)OTAP!*$I{@s}BS z8N09!C!UUct=#@@MR_3}!wU%FY(TFaAc@fM{^0vN&$g=(qK;eEjNE(;s?9Xa>Vx6~ zP+#3i3P;T8FV1E@_XeYFZTgQWvj_82ekcWf%@iE;nH1QWG0%z~Vt(>|j%Jw4-tW=7 zWU%u$@7ntQcfJpPeY9jcl(H>(I$W+=#{N#oi>21?qlV*lD@NJo`C%7R>6?6kx;8Bt zR+XA_J3Gf|R`9mBrt2%~%FgRN|H1ZWKExSn(SPZgkW1Z?krMC|jSr35mSxk!q)5xg zwo9bo4Dh-meF~NIRn`GYZvanY@S+JcrUAyp&B|T`a zl`n}8gK9_6kZz+ya8mik=dw74`}Qy6KBXH4=afg~jE>M|;9Dayd z*hmHBqzlNY3qfSO^|AJ-g);{l$lXc3*YI}5p0uue9*Dj-kW4Tg@!EvzQRr=QzVIC0 sq)Bf{SYe0Gd-L(tO~dEI$$)w*aJq)e0Y10kVmR201BQ}o`o@#Y|A1`)i~s-t From 8dd66bec4727edcd3f45e09b2158e3d32a1f3ffe Mon Sep 17 00:00:00 2001 From: hurikhan Date: Sun, 8 Mar 2015 09:26:58 -0500 Subject: [PATCH 18/18] removed up, down, left, right keys from the demo. were used before for fast multiscreen setup testing. --- misc/window_management/control.gd | 12 ------------ misc/window_management/window_management.scn | Bin 5068 -> 5087 bytes 2 files changed, 12 deletions(-) diff --git a/misc/window_management/control.gd b/misc/window_management/control.gd index 7f805a1a..bca13c5a 100644 --- a/misc/window_management/control.gd +++ b/misc/window_management/control.gd @@ -54,18 +54,6 @@ func _fixed_process(delta): get_node("Label_Screen1_Resolution").hide() get_node("Label_Screen1_Position").hide() - if( Input.is_action_pressed("ui_right")): - OS.set_screen(1) - - if( Input.is_action_pressed("ui_left")): - OS.set_screen(0) - - if( Input.is_action_pressed("ui_up")): - OS.set_fullscreen(true) - - if( Input.is_action_pressed("ui_down")): - OS.set_fullscreen(false) - get_node("Button_Fullscreen").set_pressed( OS.is_fullscreen() ) get_node("Button_FixedSize").set_pressed( !OS.is_resizable() ) get_node("Button_Minimized").set_pressed( OS.is_minimized() ) diff --git a/misc/window_management/window_management.scn b/misc/window_management/window_management.scn index 9b963a0a15f5941d7632581cb655a9f6fd50175e..b8b0ee210bd9249622682ba85d0ae7915e63b24f 100644 GIT binary patch delta 1148 zcmXApYitx%6vxlp+3xJCv_Q8mv}NyZTU(&^K?_I=_RQ{fn=~mB8q33wy|c5^W$1LL z&Q41yOz{Iiy&uLIn6b=?)dikU7pIH|*bwt9%DGYAmsGeaZ*q2$;hkFiOvQ_nLXLpcsy46~0AA z&7x8nlsksIE6%;!jXc!tRLqNf(Z9A4mc&lgY93|Gurunu?9{>~thw5?DA@Bg?px{- zm65C-|750%ZwrK{hm*&A#l7bKOy1ISjwheEKqd>?`J3X+8#lIKOUln$h-vBdw;fMg zay|Wky^}m4WG2+rq%-{#+b5I)Tg5&Xi&j3%y4+)Tq~Sg^rMG&Enr-Wa{Iw&=GuVLB zpx)oZQxD`pdhueAFCCa}GRC!YOUjLIn2vo%%P5Z_4m|-00om~T?vvIh%2v0)# z;U+ORpids|tl!MH1S1h`E)gdE%7o*ILC0(i`W+z#W_>L;f*V)WH8w%(Y!oiKyzh9U z(B=j!*h7i;puh1LzY>fIgZ%s8O>s-z7kn<%Cw#;I2_1B6lcjrBoW!;KrWU zu&n1dl#&~8ZJP35OFK&rqjdc)Z&`A;I@sp^5ggC?Jg)m2bJck%U&R1Dd85P hF1}5!qb^A*&do0!6hetR*e>6~OR$yp^19`3{0qz0RCoXY delta 1133 zcmWlZdq^B-5Wwf#Z@pW+)6?h~pYb~%RT87;quQuVzI)_MOfAKuNwg`qdw1)(WW6EAy(APuQTmYn(G=1pGzq1lX)%yC1lrBOZ>U*6vjR)QfYIuYcNEV9Sm(byQ#;z?ao z8)8vI_yo!fsJ3e1gshLrx&Z=iNJQe|+mJ=7cvXu?D(T_eU>83GFogZIkWNDhDWx;> z-%BXXnvuJrjf=?|ISjgiR466XfC6#|$vR1+kmhP&(`X6xF&CGQ=GpVy!+cJbk+?{3{mV=y;vAWZ0N2RnLH~XQ8)B-XGW+&M4iWE62M}y)KHX!V1!^^Y; zQe#H$5}%Zka)K-wxXv7IYeq1lDdwLq^@CH_sheVPfKGaD(_CtUmeeWF0^LIQaD&>IXvF}n zUYbuao*0z$%7dyB8%laNQ0PSX7&rMd3I7B+ zuFr0C-9>%ZZ_#qn#Y>}VG9-G!SJLI?k#u5dIIL9ul`78&MKo2@#jW_vV)5>@*>O!Z zJ?&c&5<}YYP)t{%2EX68DHd~@uGCyM_)_m3ZXzz9e}vc9)?VzP2T(Q`Xb~s$SXgW} zOD;2nO&Aw9xsJdwaW(+=pf1p3Nyy2h5|4c|>-&-h==%`4*Ei=sck#aeKhHsWhJwF< z{gzdQ4KB=Vw$eT|kck7Msygdi-VP(nm2gR(^ZWpT=jw4Zs7%cC*Sxmuf+q&J_+BNh z3=@)$BfBp(2sL-%D%UHG8@vlz&758Xxj?J&vTC~9`uxDWuG)-Z)Lw;{1xr?>(t>tOWXHeppHN;wffrV zjsRv)vpX`TsrBZ+tTX3UzQO-t{s0hKOqFHQO7LovV~#7fc}=gvWS5CRO!e%8xCmzN cIEq&P&g(!qu#2?Q7SDI|3wW70SbP4;|DGjQd;kCd