Change clippingDisplay() to a property
It fits much better as a property given that it only tells what the current state of things are.
This commit is contained in:
parent
15a6269510
commit
a80aa41628
|
@ -1377,8 +1377,7 @@ var UI = {
|
||||||
|
|
||||||
// Check if viewport drag is possible. It is only possible
|
// Check if viewport drag is possible. It is only possible
|
||||||
// if the remote display is clipping the client display.
|
// if the remote display is clipping the client display.
|
||||||
if (UI.rfb.viewport &&
|
if (UI.rfb.viewport && UI.rfb.isClipped) {
|
||||||
UI.rfb.clippingDisplay()) {
|
|
||||||
clipping = true;
|
clipping = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -106,6 +106,11 @@ Display.prototype = {
|
||||||
return this._fb_height;
|
return this._fb_height;
|
||||||
},
|
},
|
||||||
|
|
||||||
|
get isClipped() {
|
||||||
|
var vp = this._viewportLoc;
|
||||||
|
return this._fb_width > vp.w || this._fb_height > vp.h;
|
||||||
|
},
|
||||||
|
|
||||||
logo: null,
|
logo: null,
|
||||||
|
|
||||||
// ===== EVENT HANDLERS =====
|
// ===== EVENT HANDLERS =====
|
||||||
|
@ -512,11 +517,6 @@ Display.prototype = {
|
||||||
this._target.style.cursor = "none";
|
this._target.style.cursor = "none";
|
||||||
},
|
},
|
||||||
|
|
||||||
clippingDisplay: function () {
|
|
||||||
var vp = this._viewportLoc;
|
|
||||||
return this._fb_width > vp.w || this._fb_height > vp.h;
|
|
||||||
},
|
|
||||||
|
|
||||||
autoscale: function (containerWidth, containerHeight, downscaleOnly) {
|
autoscale: function (containerWidth, containerHeight, downscaleOnly) {
|
||||||
var vp = this._viewportLoc;
|
var vp = this._viewportLoc;
|
||||||
var targetAspectRatio = containerWidth / containerHeight;
|
var targetAspectRatio = containerWidth / containerHeight;
|
||||||
|
|
|
@ -268,6 +268,8 @@ RFB.prototype = {
|
||||||
get viewport() { return this._display.viewport; },
|
get viewport() { return this._display.viewport; },
|
||||||
set viewport(viewport) { this._display.viewport = viewport; },
|
set viewport(viewport) { this._display.viewport = viewport; },
|
||||||
|
|
||||||
|
get isClipped() { return this._display.isClipped; },
|
||||||
|
|
||||||
// ===== EVENT HANDLERS =====
|
// ===== EVENT HANDLERS =====
|
||||||
|
|
||||||
onupdatestate: function () {}, // onupdatestate(rfb, state, oldstate): connection state change
|
onupdatestate: function () {}, // onupdatestate(rfb, state, oldstate): connection state change
|
||||||
|
@ -380,11 +382,6 @@ RFB.prototype = {
|
||||||
this._display.viewportChangeSize(width, height);
|
this._display.viewportChangeSize(width, height);
|
||||||
},
|
},
|
||||||
|
|
||||||
clippingDisplay: function () {
|
|
||||||
if (this._rfb_connection_state !== 'connected') { return false; }
|
|
||||||
return this._display.clippingDisplay();
|
|
||||||
},
|
|
||||||
|
|
||||||
// Requests a change of remote desktop size. This message is an extension
|
// Requests a change of remote desktop size. This message is an extension
|
||||||
// and may only be sent if we have received an ExtendedDesktopSize message
|
// and may only be sent if we have received an ExtendedDesktopSize message
|
||||||
requestDesktopSize: function (width, height) {
|
requestDesktopSize: function (width, height) {
|
||||||
|
|
|
@ -89,6 +89,7 @@ None
|
||||||
| viewport | bool | RW | false | Use viewport clipping
|
| viewport | bool | RW | false | Use viewport clipping
|
||||||
| width | int | RO | | Display area width
|
| width | int | RO | | Display area width
|
||||||
| height | int | RO | | Display area height
|
| height | int | RO | | Display area height
|
||||||
|
| isClipped | bool | RO | | Is the remote display is larger than the client display
|
||||||
|
|
||||||
### 2.3.2 Methods
|
### 2.3.2 Methods
|
||||||
|
|
||||||
|
@ -116,7 +117,6 @@ None
|
||||||
| changeCursor | (pixels, mask, hotx, hoty, w, h) | Change cursor appearance
|
| changeCursor | (pixels, mask, hotx, hoty, w, h) | Change cursor appearance
|
||||||
| defaultCursor | () | Restore default cursor appearance
|
| defaultCursor | () | Restore default cursor appearance
|
||||||
| disableLocalCursor | () | Disable local (client-side) cursor
|
| disableLocalCursor | () | Disable local (client-side) cursor
|
||||||
| clippingDisplay | () | Check if the remote display is larger than the client display
|
|
||||||
| autoscale | (containerWidth, containerHeight, downscaleOnly) | Scale the display
|
| autoscale | (containerWidth, containerHeight, downscaleOnly) | Scale the display
|
||||||
|
|
||||||
### 2.3.3 Callbacks
|
### 2.3.3 Callbacks
|
||||||
|
|
23
docs/API.md
23
docs/API.md
|
@ -46,6 +46,10 @@ protocol stream.
|
||||||
relative position of a clipped canvas. Only relevant if `viewport`
|
relative position of a clipped canvas. Only relevant if `viewport`
|
||||||
is enabled. Disabled by default.
|
is enabled. Disabled by default.
|
||||||
|
|
||||||
|
`isClipped` *Read only*
|
||||||
|
- Is a `boolean` indicating if the framebuffer is larger than the
|
||||||
|
current canvas, i.e. it is being clipped.
|
||||||
|
|
||||||
`disconnectTimeout`
|
`disconnectTimeout`
|
||||||
- Is a `long` indicating how many seconds to wait for a disconnect
|
- Is a `long` indicating how many seconds to wait for a disconnect
|
||||||
request to complete. Is set to `3` by default.
|
request to complete. Is set to `3` by default.
|
||||||
|
@ -128,10 +132,6 @@ protocol stream.
|
||||||
[`RFB.autoscale()`](#rfbautoscale)
|
[`RFB.autoscale()`](#rfbautoscale)
|
||||||
- Set `RFB.scale` so that the framebuffer fits a specified container.
|
- Set `RFB.scale` so that the framebuffer fits a specified container.
|
||||||
|
|
||||||
[`RFB.clippingDisplay()`](#rfbclippingDisplay)
|
|
||||||
- Returns `true` if the framebuffer is larger than what is currently
|
|
||||||
displayed on the canvas.
|
|
||||||
|
|
||||||
[`RFB.requestDesktopSize()`](#rfbrequestDesktopSize)
|
[`RFB.requestDesktopSize()`](#rfbrequestDesktopSize)
|
||||||
- Send a request to change the remote desktop size.
|
- Send a request to change the remote desktop size.
|
||||||
|
|
||||||
|
@ -426,21 +426,6 @@ The `RFB.autoscale()` method is used to automatically adjust
|
||||||
**`downscaleOnly`**
|
**`downscaleOnly`**
|
||||||
- A `boolean` specifying if the scale must be kept below `1.0`.
|
- A `boolean` specifying if the scale must be kept below `1.0`.
|
||||||
|
|
||||||
#### RFB.clippingDisplay()
|
|
||||||
|
|
||||||
The `RFB.clippingDisplay()` method is used to determine if the
|
|
||||||
framebuffer is larger than the current canvas, i.e. it is being
|
|
||||||
clipped.
|
|
||||||
|
|
||||||
##### Syntax
|
|
||||||
|
|
||||||
RFB.clippingDisplay( );
|
|
||||||
|
|
||||||
###### Return value
|
|
||||||
|
|
||||||
Returns a `boolean` indicating if the framebuffer is currently being
|
|
||||||
clipped.
|
|
||||||
|
|
||||||
#### RFB.requestDesktopSize()
|
#### RFB.requestDesktopSize()
|
||||||
|
|
||||||
The `RFB.requestDesktopSize()` method is used to request a change of
|
The `RFB.requestDesktopSize()` method is used to request a change of
|
||||||
|
|
|
@ -92,14 +92,12 @@ describe('Display/Canvas Helper', function () {
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should report clipping when framebuffer > viewport', function () {
|
it('should report clipping when framebuffer > viewport', function () {
|
||||||
var clipping = display.clippingDisplay();
|
expect(display.isClipped).to.be.true;
|
||||||
expect(clipping).to.be.true;
|
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should report not clipping when framebuffer = viewport', function () {
|
it('should report not clipping when framebuffer = viewport', function () {
|
||||||
display.viewportChangeSize(5, 5);
|
display.viewportChangeSize(5, 5);
|
||||||
var clipping = display.clippingDisplay();
|
expect(display.isClipped).to.be.false;
|
||||||
expect(clipping).to.be.false;
|
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should show the entire framebuffer when disabling the viewport', function() {
|
it('should show the entire framebuffer when disabling the viewport', function() {
|
||||||
|
|
Loading…
Reference in New Issue