summaryrefslogtreecommitdiffstats
path: root/vncviewer/CConn.cxx
Commit message (Collapse)AuthorAgeFilesLines
* Display performance statistics in viewerPierre Ossman2017-02-241-1/+20
| | | | | | Adds an optional graph to the viewer to display current frame rate, pixel rate and network bandwidth. Makes it easier to debug and test performance related issues.
* Change cursor API to use RGBA dataPierre Ossman2017-02-221-2/+2
| | | | | This will allow us to use better formats that preserve the entire alpha channel.
* Do explict sync after XShmPutImage()Pierre Ossman2017-01-111-19/+0
| | | | | The complex logic waiting for events didn't result in any added performance, so use the simpler approach.
* More robust event and close handlingPierre Ossman2017-01-031-5/+9
| | | | | | There were still some circumstances where we could get stuck reading data and not respect close events properly. Move that logic to a more central place in order to make it more reliable.
* Add option to set primary selection for cut textPierre Ossman2016-03-291-1/+2
| | | | | | Previously the incoming clipboard was unconditionally set to both the PRIMARY and CLIPBOARD selection. This isn't always what the user want, so make it configurable.
* Throttle overlapping screen updatesPierre Ossman2015-11-271-0/+20
| | | | | We need to make sure the display server has finished reading our previous update before we overwrite the buffer with the next update.
* Consolidate how to run the FLTK loop in one placePierre Ossman2015-11-271-7/+1
|
* Let CConnection intercept more callbacksPierre Ossman2015-11-271-0/+4
| | | | | We need more callbacks for correct operation of multi-threaded rect decoding.
* Delegate decoder object management to a separate classPierre Ossman2015-11-271-21/+1
| | | | | | | | | Done in preparation for multi-core decoding. Keeps the complexity out of the other classes. This also moves ownership of the framebuffer in to CConnection. It's the CConnection object that is aware of the threads and how to synchronise with them. Therefore the ownership of the framebuffer must also be there to make sure it isn't deleted whilst threads are working.
* Clean out unused dependencies from CConnection.hPierre Ossman2015-11-091-0/+2
|
* Terminate the viewer even when waiting for dataPierre Ossman2015-09-231-1/+7
| | | | | It should be possible to exit the viewer even if the network has stalled in the middle of a transfer.
* Display partial updates on slow transfersPierre Ossman2015-09-231-0/+16
| | | | | | | Normally we only display screen changes once we have the updates for the entire screen. This may give the impression that the viewer is hung though. So display the partial data if the update is taking to long to arrive.
* Fix mismatches between format string and argumentsPierre Ossman2015-03-031-1/+1
|
* Switch to unsigned parameters for ExtendedDesktopSize handlerPierre Ossman2015-03-031-2/+2
| | | | | The constants used here are unsigned so it makes more sense that the parameters are as well.
* Fix bad signed/unsigned comparisonsPierre Ossman2015-03-031-1/+1
| | | | | Either by casting, or switching to a more appropriate type for the variable.
* Improve some error messagesPierre Ossman2014-12-031-4/+4
|
* Add comments for translators where requestedPierre Ossman2014-12-031-0/+4
|
* Make sure user visible strings are translatedPierre Ossman2014-09-221-5/+5
|
* Split up the info stringPierre Ossman2014-09-221-22/+56
| | | | | Avoids having to translate the entire thing if just part of it changes.
* Use PixelBuffer objects as the interface for encoders and decodersPierre Ossman2014-07-141-26/+1
| | | | | | | This avoid a lot of unnecessary middle men. This also pushes the responsibility for pixel format conversion into the encoders and decoders. The new bufferFromBuffer() is used for direct conversion, rather than PixelTransformer/TransImageGetter.
* Provide a better R/W base PixelBuffer classPierre Ossman2014-07-071-1/+1
| | | | | Clearly separates the read API from the write API and also from actual implementation.
* Encoders/decoders should track the connection objectPierre Ossman2014-07-071-1/+1
| | | | | | The connection object is a much more appropriate object for the decoders and encoders to keep track of. Besides the streams, it also contains state like connection parameters.
* Push encoder and decoder handling down into the connection objectsPierre Ossman2014-07-071-9/+23
| | | | | This keeps the reader and writer objects clean and simple protocol decoders/encoders.
* Remove full support for colour mapsPierre Ossman2014-07-071-3/+4
| | | | | | | | | Gets rid of a loooot of code and complexity. Colour map clients are still supported through an automatically generated map, but we lose the ability to develop a client or server that uses colour maps internally.
* Remove magic JPEG variables from ConnParamsPierre Ossman2014-07-071-9/+16
| | | | | | Custom compression level and JPEG on/off are not inherent parts of the protocol negotiation so they do not belong in ConnParams. Let the UI frontend handle such things instead.
* Remove some premature optimisationPierre Ossman2014-07-071-0/+1
| | | | Reduces header dependencies.
* Add some missing whitespacePierre Ossman2014-07-071-0/+3
|
* Be more consistent in referring to pixel byte streams as buffersPierre Ossman2014-07-071-3/+3
|
* Printing the clipboard data is very annoying as it couldPierre Ossman2013-09-051-1/+1
| | | | | | | | include line breaks, things with the wrong character encoding and god knows what. Just print the size of the data instead. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@5133 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Forgot to respect the AcceptClipboard option in thePierre Ossman2013-05-241-0/+3
| | | | | | | new FLTK based viewer. Patch by Matt McCutchen. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@5112 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Fix build on 32-bit and 64-bit WindowsDRC2013-02-261-1/+1
| | | | git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@5051 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Reimplement -listen in the new FLTK vncviewer. Work done byPierre Ossman2013-02-151-12/+15
| | | | | | | Justina Mickonyte for Cendio. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@5041 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Make it possible to dynamically resize the size of the session, when resizingPierre Ossman2012-07-041-32/+0
| | | | | | | | the viewer window, or when entering or leaving fullscreen mode. Initial work done by Arthur Huillet and clohr. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4924 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Fix unsafe usage of the logging functions.Pierre Ossman2012-04-261-3/+3
| | | | git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4905 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Make sure we're paranoid about accidentally feeding a format string.Pierre Ossman2012-04-251-1/+1
| | | | | | | Basic patch by Joachim Falk. Slightly improved before commit. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4900 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Client side support for continuous updates.Pierre Ossman2011-11-151-7/+19
| | | | git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4805 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Support and use fences in the client. This allows more aggressive use ofPierre Ossman2011-11-141-12/+69
| | | | | | | update requests as we can now synchronise format changes. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4800 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Use the correct matching free operation. Patch by Matthieu Lochegnies.Pierre Ossman2011-11-091-1/+1
| | | | git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4786 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Redesign the format switching logic so that we don't have to adjust the wayPierre Ossman2011-11-041-13/+30
| | | | | | | we send out update requests. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4766 3789f03b-4d11-0410-bbf8-ca57d06f2519
* If the client and server are using identical pixel formats, then perform ↵DRC2011-11-031-0/+9
| | | | | | Tight decoding directly into the viewer's back buffer, rather than going through the slow fillRect/imageRect routines. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4757 3789f03b-4d11-0410-bbf8-ca57d06f2519
* The old Unix viewer put the RFB clipboard data both in CLIPBOARD and PRIMARY.Pierre Ossman2011-09-071-0/+3
| | | | | | | Make sure the new one does the same. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4668 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Make sure to include config.h in every compilation unit. Otherwise,Peter Åstrand2011-08-231-0/+4
| | | | | | | | | | the necessary defines will only be visible as a side effect of including other headers, leading to problems with things like translations, which will fail in various places. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4646 3789f03b-4d11-0410-bbf8-ca57d06f2519
* This was not a good method to get an initial full update as we would get twoPierre Ossman2011-07-151-4/+1
| | | | | | | update requests before the firstUpdate variable toggled to false. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4596 3789f03b-4d11-0410-bbf8-ca57d06f2519
* When we stopped doing full updates on format changes, we also lost the sidePierre Ossman2011-07-151-0/+3
| | | | | | | | effect of having the first update being a full update. This is needed for correct behaviour for some extensions. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4595 3789f03b-4d11-0410-bbf8-ca57d06f2519
* We don't need to force a full refresh on format changes with the new viewerPierre Ossman2011-07-151-2/+0
| | | | | | | as we do not throw away the framebuffer. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4590 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Managed to consistently get the colour levels reversed. Fix up everything soPierre Ossman2011-07-141-7/+12
| | | | | | | that it behaves like documented. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4588 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Destroy the main UI and connection objects before popping up the fatal errorPierre Ossman2011-07-121-2/+1
| | | | | | | | message. This avoids a lot of problems with recursion and trying to send events over a dead socket. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4582 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Create a proper header file for the exported functions from vncviewer.cxx.Pierre Ossman2011-07-121-2/+1
| | | | git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4579 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Fix build issues with Visual C++ (implemented macro version of snprintf + ↵DRC2011-06-241-0/+6
| | | | | | re-ordered headers to ensure that winsock is included ahead of windows.h) git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4527 3789f03b-4d11-0410-bbf8-ca57d06f2519
* The default value of local cursor support is false, so we couldn't justPierre Ossman2011-06-091-0/+4
| | | | | | | remove these lines. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4476 3789f03b-4d11-0410-bbf8-ca57d06f2519