Commit Graph
100 Commits
Author SHA1 Message Date
Michael Jumper b2bcaef681 Fix non-left mouse button clicks (there may not be one touchstart event per touch). Fix setting/resetting of gesture_in_progress flag. 2012-04-09 13:57:58 -07:00
Michael Jumper 5e0c6d8c51 Only send integer coordinates in mouse events. 2012-04-08 21:51:35 -07:00
Michael Jumper 47b9e43559 Mouse acceleration. 2012-04-08 21:51:00 -07:00
Michael Jumper df595d46ec Avoid crazy accelerating autoscroll by using clientX/clientY instead of screenX/screenY. 2012-04-08 21:22:09 -07:00
Michael Jumper eaa233520c Calculate mouse position including scroll of overflow elements (cannot rely on pageX/Y). 2012-04-06 12:38:24 -07:00
Michael Jumper 041f22563c Revert fixes for iPad #90 due to performance regression - can avoid bug in libguac-client-rdp and friends until it is fixed upstream. 2012-04-05 15:29:55 -07:00
Michael Jumper 6e835dacdc More efficient blocking, leveraging the now-necessary image data copy. 2012-04-03 02:35:32 -07:00
Michael Jumper 9e1d2b2442 Fix iPad synchronization issue (ticket #90). 2012-04-03 02:18:47 -07:00
Michael Jumper f6868b8661 "device" not "display" (typo). Switch back to two-finger scroll. 2012-04-01 18:52:49 -07:00
Michael Jumper ff20799b29 Provide means of retrieving scale. 2012-04-01 18:52:06 -07:00
Michael Jumper 818f081bb5 Set scroll and click thresholds relative to screen pixel density (if readable) and size of gesture. 2012-04-01 18:20:18 -07:00
Michael Jumper dcf55cbd75 Add scale function, use bounding div for main display element, such that the display can be scaled independently of the surrounding div, which provides the layout. 2012-04-01 01:07:14 -07:00
Michael Jumper 5e2858a413 Move all thresholds into properties, implement scrollwheel via touch. 2012-03-30 23:12:19 -07:00
Michael Jumper e22296bbff Check for last touch by verifying touch length 0, not 1. Fix wrong use of max() (should be min). 2012-03-30 22:59:46 -07:00
Michael Jumper ed3d12fbce Implement right and middle-click. 2012-03-30 22:48:22 -07:00
Michael Jumper fa96143884 Move layers using translation via matrices - do not use CSS top/left. 2012-03-29 23:48:45 -07:00
Michael Jumper b0196b89f1 Partial cleanup, track and expose key and modifier states. 2012-03-29 23:11:13 -07:00
Michael Jumper 8c7b883d55 Fixed regression with key repeat. 2012-03-29 17:42:34 -07:00
Michael Jumper eca34b24fb Allow user of API to decide whether keyboard events are canceled. 2012-03-29 10:05:38 -07:00
Michael Jumper e8ee79a5b0 Fixed project URL. 2012-03-26 18:51:16 -07:00
Michael Jumper 631ec6120e Change "Connection does not exist" to more user-friendly error. 2012-03-25 23:03:54 -07:00
Michael Jumper 3b7b8382a3 Add error for status code of 0. 2012-03-25 17:56:33 -07:00
Michael Jumper d4aabf013b Assume space cap if blank (blank caps would otherwise not render, and IE trims the contents of XML tags, which breaks the OSK spacebar). 2012-03-25 13:37:16 -07:00
Michael Jumper b80ede52a4 Generic error messages from status codes. 2012-03-24 19:13:32 -07:00
Michael Jumper e6249fbf5b Do not use X-Guacamole-Error-Message - use status code only. 2012-03-24 16:57:58 -07:00
Michael Jumper 8ad557cf31 Use screenX/screenY for touch. 2012-03-22 17:28:24 -07:00
Michael Jumper 7522c3a853 Fix ticket #114 - mouse position calculated incorrectly. 2012-03-20 10:14:49 -07:00
Michael Jumper fccfe52a19 In chained tunnel, clear handlers in old tunnel when new tunnel is taking over. 2012-03-19 15:11:05 -07:00
Michael Jumper 431d38d21f Properly handle errors on write as well as read. 2012-03-14 16:18:11 -07:00
Michael Jumper cc6c2671ac Refactor arc to include drawing direction. 2012-03-13 18:59:57 -07:00
Michael Jumper 6df9fe2871 Implement set instruction. 2012-03-13 12:12:59 -07:00
Michael Jumper 02500bf96b Layers should clip contents. 2012-03-13 00:29:21 -07:00
Michael Jumper c91efb51ec Implemented push and pop. 2012-03-12 23:58:07 -07:00
Michael Jumper fc716d7d9a Implement distort, shade. 2012-03-12 23:25:23 -07:00
Michael Jumper b540cc0427 Implement identity, transform. 2012-03-12 17:42:44 -07:00
Michael Jumper 4b3b2966f5 Implemented lfill, lstroke. 2012-03-12 17:39:18 -07:00
Michael Jumper 3435edf4d6 Implemented close, curve, arc. 2012-03-12 17:37:04 -07:00
Michael Jumper c25a4edab7 Implement start, line, and curve instructions. 2012-03-12 17:27:42 -07:00
Michael Jumper 88e897dcd2 Refactored to more reasonable path operations. 2012-03-12 17:04:29 -07:00
Michael Jumper 5b902e669c Buffers should be resizable, too. 2012-03-11 22:21:54 -07:00
Michael Jumper 6cffafad6a Reset internal stack state when stack automatically reset from resize. 2012-03-11 22:13:10 -07:00
Michael Jumper b363f958b0 Alphabetized instruction set for future instruction-adding convenience. 2012-03-11 21:59:19 -07:00
Michael Jumper e63b7108f3 Implement reset instruction. 2012-03-11 21:48:06 -07:00
Michael Jumper 6cb68f86cf Fix cursor - copyRect() has been renamed to copy(). 2012-03-11 21:33:39 -07:00
Michael Jumper 66d3973cdc Fix reset() to properly reset EVERYTHING. 2012-03-11 21:30:00 -07:00
Michael Jumper ead3811df6 Accidentally used getLayer() in RGBA component ints. 2012-03-11 21:17:16 -07:00
Michael Jumper 87cf3940c6 Implement cfill. 2012-03-11 21:10:07 -07:00
Michael Jumper 56facdb6b2 Implemented remaining operations as possible. 2012-03-11 21:00:08 -07:00
Michael Jumper aa1e467791 Refactor rect, rename copyRect -> copy, add several necessary operations, remove unused functions. 2012-03-11 20:16:36 -07:00
Michael Jumper 4c4b2de654 For OSK modifiers, call keydown/keyup events only on press, calling keydown if modifier activated, and keyup if modifier deactivated. Do not call keyup on release if key is a modifier. 2012-03-09 16:38:17 -08:00
Michael Jumper b11445e8dd Errors thrown by connect() of a chained tunnel should be resent to onerror() if caught within ChainedTunnel.attach(). 2012-03-09 16:27:22 -08:00
Michael Jumper 10b192b677 Fixed comment on self reference. 2012-03-09 16:12:12 -08:00
Michael Jumper 0d95a5b5b8 JSDoc, remove useless onerror initialization. 2012-03-09 16:11:16 -08:00
Michael Jumper 2cff92ff1f Only chain to next tunnel if no instructions received. Pass through errors otherwise. 2012-03-09 16:00:23 -08:00
Michael Jumper 90876a47d6 Implement ChainedTunnel, which wraps an arbitrary list of tunnels, using each in order if a tunnel fails. 2012-03-09 15:53:54 -08:00
Michael Jumper 862ad8760a Implement tunnel onerror() for WebSocket. 2012-03-09 14:56:41 -08:00
Michael Jumper 52d3fa8748 Implemented WebSocketTunnel. 2012-03-09 12:27:16 -08:00
Michael Jumper fded6d2873 Revert "Removing WebSocket tunnel for stable release. It will be back."
This reverts commit 31a7ce3912ebed5d6fee8b5d400b982b2e87cbfd.
2012-03-07 21:38:47 -08:00
Michael Jumper 9f8fedcf47 Adding Matt Hortman to list of contributors. 2012-03-05 12:18:15 -08:00
Michael Jumper 8724c22d55 Merge remote branch 'matthortman/MBH' into merge-matt 2012-03-05 11:52:14 -08:00
Michael Jumper 108ca03420 Fix OSK to work in IE9+ 2012-03-01 16:00:07 -08:00
Michael Jumper e866dbcd1d Only use classList.add() and classList.remove() if classList is supported. 2012-02-29 13:34:11 -08:00
Michael Jumper 5eb316a3ba Transfer functions on abstract pixels. 2012-02-27 13:23:07 -08:00
Michael Jumper ceb94ba4c3 Actually DRAW image data. 2012-02-27 12:36:25 -08:00
Michael Jumper 02e1333e58 Initial refactor of raster operations to real transfer functions. 2012-02-27 12:23:38 -08:00
Michael Jumper 9d3ce8c474 Use composite operation instead of channel mask. 2012-02-27 11:41:28 -08:00
Michael Jumper 6bfa0d7ea1 Use transfer function within copy, if set. 2012-02-27 11:35:02 -08:00
Michael Jumper 7011f650c5 Implement raster operations as transfer functions, rename setChannelMask to setCompositeOperation, supporting both channel masks and binary raster operations. 2012-02-27 11:20:25 -08:00
Michael Jumper aedc40691e Bumped version to 0.6.0 2012-02-23 13:27:08 -08:00
Michael Jumper d1496d7375 Update cursor position when cursor image/hotspot is updated. 2012-02-23 11:22:15 -08:00
Michael Jumper 4e91f312ed Fix mousewheel support. 2012-02-23 10:23:36 -08:00
Michael Jumper 27ec480ccb No capture for anything. 2012-02-22 15:23:10 -08:00
Michael Jumper 3f2a79fd0f Use addEventListener() for mouse, fix handling of mouseout. 2012-02-22 15:14:27 -08:00
Michael Jumper 5c92d65234 Implement dispose instruction. 2012-02-20 12:48:26 -08:00
Michael Jumper 3019b4d5cd Layer should preserve composite operation through resize. 2012-02-15 12:26:56 -08:00
Michael Jumper ebc5caac28 Application should hide cursor. Do not require CSS class definitions. 2012-02-15 10:17:27 -08:00
Michael Jumper f6bf6c4aaa Support for new buffered cursor instruction. 2012-02-15 10:10:49 -08:00
Michael Jumper 663a3544ce Wrong location for declaration. 2012-02-14 23:07:39 -08:00
Michael Jumper 8cd1b3a857 Added pre-defined channel mask constants. Setting cursor layer to Guacamole.Layer.SRC. 2012-02-14 22:58:52 -08:00
Michael Jumper d62342f6ee Move cursor layer, rather than redrawing cursor image. 2012-02-14 21:11:38 -08:00
Michael Jumper 2b342c3864 Initial support for move instruction and layer containers. 2012-02-14 20:46:48 -08:00
Michael Jumper ceca1570b0 Modify to support new size instruction format (stub). 2012-02-11 22:00:18 -08:00
Michael Jumper 776054e33b Correct description of touch support. 2012-02-09 10:43:25 -08:00
Michael Jumper 902cef5db6 Must only check response if readyState >= 2. 2012-02-09 10:01:55 -08:00
Michael Jumper 0209bf448a Synchronize layers properly in copy. 2012-01-30 00:53:13 -08:00
Michael Jumper 684dcdd33f Properly block source layer until copy to destination is complete. 2012-01-26 11:48:19 -08:00
Michael Jumper 8cc8ad9e5e Handle events via addEventListener(). This solves an issue with touch events firing twice (they were firing once for bubble and once for capture). With addEventListener(), they fire once. 2012-01-24 22:56:53 -08:00
Michael Jumper 692186f0c9 Track pressed status of keys. Only release/press keys if not already in that status. 2012-01-23 15:24:35 -08:00
Michael Jumper 4aef4fe804 Added DTD for keyboard XML. 2012-01-23 15:18:16 -08:00
Michael Jumper a25bf0f103 Add call for key events, refactor to onkeydown and onkeyup. 2012-01-23 15:14:47 -08:00
Michael Jumper ff6ca004db Round to nearest tenth, rather than integer. 2012-01-23 13:48:30 -08:00
Michael Jumper 08c3a8344a Release key on mouse out. 2012-01-23 10:51:12 -08:00
Michael Jumper 5ca6a2cacf Support for user-defined classes in keyboard XML. 2012-01-23 10:41:39 -08:00
Michael Jumper aa5b07761e Use pressed classname for pressed keys. 2012-01-23 10:04:27 -08:00
Michael Jumper c210444fac Track pressed state for modifiers globally. Do not track pressed state of non-modifiers. 2012-01-21 12:58:44 -08:00
Michael Jumper 53683c90d2 Only modifier states should toggle. 2012-01-21 12:53:59 -08:00
Michael Jumper 61fcf959b3 Toggle modifier pressed states. 2012-01-21 12:53:18 -08:00
Michael Jumper 7e6ad2d953 Initial version of onclick for keys, improved classes. 2012-01-21 12:06:43 -08:00
Michael Jumper 6149a33738 Better classname assignment for keycaps, restructure of keyboard (keyboard/key-container(s)/key/cap(s)). 2012-01-20 22:33:14 -08:00
Michael Jumper 2c0bee0890 Store caps by modifier in keys within central key array. 2012-01-20 13:57:32 -08:00