From 8dac68f2ce649529061f560200b55815c0a90135 Mon Sep 17 00:00:00 2001 From: Mango Liou Date: Tue, 5 Jan 2016 02:49:18 +0000 Subject: [PATCH] Toolbar with scale and quality. --- noVNC/custom.css | 116 +++++++++++++++ noVNC/images/not_scale.png | Bin 0 -> 401 bytes noVNC/images/pause.png | Bin 0 -> 2824 bytes noVNC/images/pop_less.png | Bin 3523 -> 4660 bytes noVNC/images/pop_more.png | Bin 3546 -> 4673 bytes noVNC/images/resume.png | Bin 0 -> 2963 bytes noVNC/images/scale.png | Bin 0 -> 1254 bytes noVNC/include/rfb.js | 70 ++++++--- noVNC/include/util.js | 11 +- noVNC/vnc_auto.html | 297 +++++++++++++++++++++++++++++++++++-- 10 files changed, 455 insertions(+), 39 deletions(-) create mode 100644 noVNC/custom.css create mode 100644 noVNC/images/not_scale.png create mode 100644 noVNC/images/pause.png create mode 100644 noVNC/images/resume.png create mode 100644 noVNC/images/scale.png diff --git a/noVNC/custom.css b/noVNC/custom.css new file mode 100644 index 0000000..582b821 --- /dev/null +++ b/noVNC/custom.css @@ -0,0 +1,116 @@ +.custom_toolbar { + position: absolute; + width: 52px; + height: 99.5%; + top: 0px; + left: -65px; + z-index: 100; + padding: 2px; + background-color: #EEEEEE; + box-shadow: 1px 0 5px #000000; +} + +.custom_toolbar_divider1 { + width: 40px; + height: 1px; + margin: 5px; + background-color: #000; + opacity: 0.1; +} + +.custom_toolbar_divider2 { + width: 40px; + height: 1px; + margin: 5px; + background-color: #000; + opacity: 0.0; +} + +.custom_toolbar_clicker { + position: absolute; + width: 43px; + height: 36px; + margin-top: -2px; + margin-left: 54px; + line-height: 60px; + text-align: center; + opacity: 1.0; + cursor: pointer; + background-repeat: no-repeat; + background-position: center; + background-image: url(images/pop_more.png); +} + +.custom_toolbar_btn { + width: 40px; + height: 20px; + + font-family: "Anonymous Pro", "Menlo", "Consolas", "Bitstream Vera Sans Mono", "Courier New", monospace; + font-size: 13px; + line-height: 20px; + text-align: center; + margin: 15px 5px 15px 5px; + + border: 1px solid #bbbbbb; + border-radius: 4px; + color: #33444E; + background-color: #EEEEEE; + box-shadow: 0px 0px 3px #bbbbbb; + cursor: pointer; +} + +.custom_toolbar_btn_hover { + -webkit-box-shadow: inset 0px 0px 5px 2px rgba(0,0,0,0.3); + -moz-box-shadow: inset 0px 0px 5px 2px rgba(0,0,0,0.3); + box-shadow: inset 0px 0px 5px 2px rgba(0,0,0,0.3); +} + +.custom_toolbar_btn_selected { + background-color: #bfbfbf; +} + +.custom_mask { + top: 0px; + left: 0px; + display: none;; + position: absolute; + background-color: #000; + opacity: 0.5; + z-index: 200; +} + +.custom_pause_icon { + background-repeat: no-repeat; + background-position: center; + background-image: url("images/pause.png"); +} + +.custom_resume_icon { + background-repeat: no-repeat; + background-position: center; + background-image: url("images/resume.png"); +} + +.custom_scale_icon { + background-repeat: no-repeat; + background-position: center; + background-image: url("images/scale.png"); +} + +.custom_not_scale_icon { + background-repeat: no-repeat; + background-position: center; + background-image: url("images/not_scale.png"); +} + +.custom_quality_icon { + margin: 3px 0px 0px 8px; + width: 24px; + height: 14px; + border-radius: 12px; + color: #fff; + background-color: #4d4d4d; + font-size: 12px; + line-height: 14px; + font-weight: bolder; +} \ No newline at end of file diff --git a/noVNC/images/not_scale.png b/noVNC/images/not_scale.png new file mode 100644 index 0000000000000000000000000000000000000000..b293432284100bba068f5e37bcf2e6fde43b6fe9 GIT binary patch literal 401 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 delta 811 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 R<0tpelaO1a@z`qz{{ek@u2=v7 literal 0 HcmV?d00001 diff --git a/noVNC/include/rfb.js b/noVNC/include/rfb.js index a591ca2..e030b09 100644 --- a/noVNC/include/rfb.js +++ b/noVNC/include/rfb.js @@ -35,28 +35,6 @@ var RFB; this._rfb_tightvnc = false; this._rfb_xvp_ver = 0; - // In preference order - this._encodings = [ - ['COPYRECT', 0x01 ], - ['TIGHT', 0x07 ], - ['TIGHT_PNG', -260 ], - ['HEXTILE', 0x05 ], - ['RRE', 0x02 ], - ['RAW', 0x00 ], - ['DesktopSize', -223 ], - ['Cursor', -239 ], - - // Psuedo-encoding settings - //['JPEG_quality_lo', -32 ], - ['JPEG_quality_med', -26 ], - //['JPEG_quality_hi', -23 ], - //['compress_lo', -255 ], - ['compress_hi', -247 ], - ['last_rect', -224 ], - ['xvp', -309 ], - ['ExtendedDesktopSize', -308 ] - ]; - this._encHandlers = {}; this._encNames = {}; this._encStats = {}; @@ -131,7 +109,6 @@ var RFB; 'wsProtocols': ['binary', 'base64'], // Protocols to use in the WebSocket connection 'repeaterID': '', // [UltraVNC] RepeaterID to connect to 'viewportDrag': false, // Move the viewport on mouse drags - // Callback functions 'onUpdateState': function () { }, // onUpdateState(rfb, state, oldstate, statusMsg): state update/change 'onPasswordRequired': function () { }, // onPasswordRequired(rfb): VNC password is required @@ -144,6 +121,53 @@ var RFB; 'onXvpInit': function () { }, // onXvpInit(version): XVP extensions active for this connection }); + try{ + // Use my custom 'jpeg_quality'. + this._encodings = [ + // ['COPYRECT', 0x01 ], + ['TIGHT', 0x07 ], + ['TIGHT_PNG', -260 ], + ['HEXTILE', 0x05 ], + ['RRE', 0x02 ], + ['RAW', 0x00 ], + ['DesktopSize', -223 ], + ['Cursor', -239 ], + + // Psuedo-encoding settings + ['JPEG_quality_lo', -32 + jpeg_quality ], + // ['JPEG_quality_med', -28 ], + // ['JPEG_quality_hi', -23 ], + // ['compress_lo', -255 ], + ['compress_hi', -247 ], + ['last_rect', -224 ], + ['xvp', -309 ], + ['ExtendedDesktopSize', -308 ] + ]; + } + catch(e){ + // If my custom 'jpeg_quality' is not defined, just use default setting. + this._encodings = [ + ['COPYRECT', 0x01 ], + ['TIGHT', 0x07 ], + ['TIGHT_PNG', -260 ], + ['HEXTILE', 0x05 ], + ['RRE', 0x02 ], + ['RAW', 0x00 ], + ['DesktopSize', -223 ], + ['Cursor', -239 ], + + // Psuedo-encoding settings + //['JPEG_quality_lo', -32 ], + ['JPEG_quality_med', -26 ], + //['JPEG_quality_hi', -23 ], + //['compress_lo', -255 ], + ['compress_hi', -247 ], + ['last_rect', -224 ], + ['xvp', -309 ], + ['ExtendedDesktopSize', -308 ] + ]; + } + // main setup Util.Debug(">> RFB.constructor"); diff --git a/noVNC/include/util.js b/noVNC/include/util.js index ed0e3cd..406adbe 100644 --- a/noVNC/include/util.js +++ b/noVNC/include/util.js @@ -468,7 +468,16 @@ Util.getEventPosition = function (e, obj, scale) { var realy = docY - pos.y; var x = Math.max(Math.min(realx, pos.width - 1), 0); var y = Math.max(Math.min(realy, pos.height - 1), 0); - return {'x': x / scale, 'y': y / scale, 'realx': realx / scale, 'realy': realy / scale}; + + try{ + // Use my custom 'Scale' rate. + return {'x': x / Scale.x, 'y': y / Scale.y, 'realx': realx / Scale.x, 'realy': realy / Scale.y}; + } + catch(e){ + // If my custom 'Scale' is not defined, just use default 'scale'. + return {'x': x / scale, 'y': y / scale, 'realx': realx / scale, 'realy': realy / scale}; + } + }; diff --git a/noVNC/vnc_auto.html b/noVNC/vnc_auto.html index ea0b974..689140f 100644 --- a/noVNC/vnc_auto.html +++ b/noVNC/vnc_auto.html @@ -35,6 +35,7 @@ +