fix scale and event bug

This commit is contained in:
lxsang 2018-10-01 22:50:32 +02:00
parent e6405d047f
commit aa07c5a57a
6 changed files with 50 additions and 7 deletions

View File

@ -1,5 +1,7 @@
<afx-app-window apptitle="VNC Remote Desktop" width="720" height="576" data-id="RemoteDesktop">
<afx-hbox >
<canvas data-id="screen"></canvas>
<div data-id="container">
<canvas data-id="screen"></canvas>
</div>
</afx-hbox>
</afx-app-window>

File diff suppressed because one or more lines are too long

View File

@ -1,5 +1,7 @@
<afx-app-window apptitle="VNC Remote Desktop" width="720" height="576" data-id="RemoteDesktop">
<afx-hbox >
<canvas data-id="screen"></canvas>
<div data-id="container">
<canvas data-id="screen"></canvas>
</div>
</afx-hbox>
</afx-app-window>

View File

@ -13,7 +13,7 @@ class ConnectionDialog extends this.OS.GUI.BasicDialog
{ tag: "div", att: ' data-height="5"' }
],
width: 350,
height: 280,
height: 280,
resizable: false,
buttons: [
{
@ -51,7 +51,8 @@ class RemoteDesktop extends this.OS.GUI.BaseApplication
main: () ->
me = @
@canvas = @find "screen"
@client = new WVNC {
@container = @find "container"
@client = new WVNC {
element: me.canvas,
ws: 'wss://localhost:9192/wvnc',
worker: "#{me._api.handler.get}/#{me.meta().path}/decoder.js"
@ -59,14 +60,26 @@ class RemoteDesktop extends this.OS.GUI.BaseApplication
@client.onerror = (m) ->
me.error m
me.showConnectionDialog()
@client.onresize = ()->
me.setScale()
@client.onpassword = ()->
return new Promise (r,e)->
me.openDialog "PromptDialog", (d) ->
r(d)
, __("VNC password"), { label: __("VNC password"), value: "demopass", type: "password" }
@on "resize", (e)-> me.setScale()
@on "focus", (e) -> $(me.canvas).focus()
@client.init().then () ->
me.showConnectionDialog()
setScale: () ->
return unless @client and @client.resolution
w = $(@container).width()
h = $(@container).height()
sx = w / @client.resolution.w
sy = h / @client.resolution.h
if sx > sy then @client.setScale sy else @client.setScale sx
showConnectionDialog: () ->
me = @
@openDialog new ConnectionDialog, (d) ->

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
{"name":"RemoteDesktop","root":"home://workspace/RemoteDesktop","css":[],"javascripts":["javascripts/wvnc.js"],"coffees":["coffees/main.coffee"],"copies":["assets/scheme.html","package.json","README.md","javascripts/decoder.js","javascripts/wvnc_asm.js","javascripts/wvnc_asm.wasm"]}
{"name":"RemoteDesktop","root":"home://Documents/workspace/antosdk-apps/RemoteDesktop","css":["assets/main.css"],"javascripts":["javascripts/wvnc.js"],"coffees":["coffees/main.coffee"],"copies":["assets/scheme.html","package.json","README.md","javascripts/decoder.js","javascripts/wvnc_asm.js","javascripts/wvnc_asm.wasm"]}