aboutsummaryrefslogtreecommitdiffstats
path: root/win/rfb_win32/SDisplay.cxx
Commit message (Collapse)AuthorAgeFilesLines
* Capitalize even more logging and exceptionsPierre Ossman2024-11-221-2/+2
|
* Merge branch 'master' of https://github.com/madnicendio/tigervncPierre Ossman2024-11-221-15/+15
|\
| * Capitalize first letter in log, exception & errorMadeleine Nilsson2024-11-211-15/+15
| | | | | | | | The reason for this is to keep a consistency through out the project.
* | Merge branch 'mouse-button-support' of https://github.com/CendioHalim/tigervncPierre Ossman2024-11-181-1/+1
|\ \
| * | Add server support for forward/back mouse buttonsAdam Halim2024-10-221-1/+1
| |/ | | | | | | | | | | | | | | | | This commit adds support for the pseudo-encoding ExtendedMouseButtons in Xvnc and x0vncserver, which makes it possible to use to use the back/forward mouse buttons. This commit contains work originally done by PixelSmith <manny33@frontbuffer.com>.
* | Use standard exception classesPierre Ossman2024-11-061-5/+4
| | | | | | | | | | Use the more specific already included exception classes for common errors to keep things more understandable.
* | Subclass exceptions from std::exceptionPierre Ossman2024-11-061-3/+3
| | | | | | | | | | Make sure our exceptions are part of the standard exception class hierarchy.
* | Use what() to access exception descriptionPierre Ossman2024-11-061-3/+3
|/ | | | Harmonize with the standard C++ exceptions.
* Better type for pointer button maskPierre Ossman2024-08-121-1/+1
| | | | | This is a very limited bit field, so use an 8 bit type to clearly show how many bits are available.
* Use nullptr in all C++ codePierre Ossman2024-06-241-23/+23
| | | | | It's more readable than 0, and a bit safer than NULL, so let's try to follow modern norms.
* Maintain a constant VNCServer/SDesktop connectionPierre Ossman2024-06-191-5/+7
| | | | | | | | | The desktop isn't completely paused just because there are no clients, so it might still need some support from the server object. This is primarily an issue for headless servers, where they need to continue emulating things even without clients. A scraping server can generally go completely passive if there are no clients.
* Use operator overloading for comparisonPierre Ossman2023-02-041-2/+2
| | | | | It is much more natural than custom methods for this very common operation.
* Return std::string instead of dynamic allocationsPierre Ossman2023-02-041-2/+1
| | | | | | We mostly use classical C strings, but the memory management around them can get confusing and error prone. Let's use std::string for the cases where we need to return a newly allocated string.
* Use StringParameters directlyPierre Ossman2023-02-041-9/+7
| | | | | We don't need to make extra copies of the string in most cases, so let's simplify the code and access the string directly when we can.
* Get rid of TCHAR magicPierre Ossman2023-02-041-3/+3
| | | | | We never use Windows' "UNICODE" mode anyway, so let's get rid of this complexity.
* Use stdint typesPierre Ossman2023-02-011-1/+1
| | | | | Avoid having our own custom stuff and instead use the modern, standard types, for familiarity.
* Be consistent in including config.hPierre Ossman2021-12-301-0/+4
| | | | | | The generally recommended way is to include it from source files, not headers. We had a mix of both. Let's try to be consistent and follow the recommended way.
* Add support for notifying clients about pointer movementslhchavez2021-03-021-1/+1
| | | | | | | | | | | | | | | | | | | | | | | This change adds support for the VMware Mouse Position pseudo-encoding[1], which is used to notify VNC clients when X11 clients call `XWarpPointer()`[2]. This function is called by SDL (and other similar libraries) when they detect that the server does not support native relative motion, like some RFB clients. With this, RFB clients can choose to adjust the local cursor position under certain circumstances to match what the server has set. For instance, if pointer lock has been enabled on the client's machine and the cursor is not being drawn locally, the local position of the cursor is irrelevant, so the RFB client can use what the server sends as the canonical absolute position of the cursor. This ultimately enables the possibility of games (especially FPS games) to behave how users expect (if the clients implement the corresponding change). Part of: #619 1: https://github.com/rfbproto/rfbproto/blob/master/rfbproto.rst#vmware-cursor-position-pseudo-encoding 2: https://tronche.com/gui/x/xlib/input/XWarpPointer.html 3: https://hg.libsdl.org/SDL/file/28e3b60e2131/src/events/SDL_mouse.c#l804
* Use display polling by default in WinVNCPierre Ossman2019-09-061-1/+1
| | | | | Window hooks aren't working well on modern systems so switch the default to polling until we can fix things.
* Improved clipboard APIPierre Ossman2019-07-011-6/+18
| | | | | Change the internal clipboard API to use a request based model in order to be prepared for more advanced clipboard transfers.
* Clean up internal clipboard handlingPierre Ossman2019-07-011-7/+5
| | | | | | We now filter incoming data, which means we can start assuming the clipboard data is always null terminated. This allows us to clean up a lot of the internal handling.
* Properly terminate server on timeoutsPierre Ossman2018-11-091-0/+6
| | | | | | Do a proper cleanup when one of the termination timeouts trigger rather than just exiting on the spot. This makes sure we don't leave stray stuff around, e.g. unix socket files.
* Remove QueryConnectionHandlerPierre Ossman2018-10-101-1/+17
| | | | | Make things simpler by making this a part of the SDesktop interface that always needs to be implemented.
* Remove Java web serverPierre Ossman2018-10-091-15/+0
| | | | | Applets don't work anymore so remove everything that has to do with serving them.
* Basic support for QEMU Extended Key EventsPierre Ossman2017-08-281-2/+2
| | | | | | This adds the basic infrastructure and handshake for the QEMU Extended Key Events extension. No viewer or server makes use of the extra functionality yet though.
* rfb_win32: Add support for LED state notificationsRahul Kale2017-08-281-1/+28
| | | | | | | | | | LED support added using Windows GetKeyState() API call. The state is polled for change in CapsLock/NumLock/ScrollLock status in the same code block where chages to Cursor shape is polled. Signed-off-by: Rahul Kale <Rahul.Kale@barco.com> Signed-off-by: Peter Korsgaard <peter.korsgaard@barco.com>
* Remove legacy Windows codePierre Ossman2016-01-121-19/+1
| | | | | We have lots of code that deals with Windows versions that we no longer support anyway. Clean out all of this old cruft.
* Remove stub mirror driver codePierre Ossman2016-01-121-8/+1
| | | | | We don't have any meaningful code for the mirror driver, so remove the confusing stub and interface for it.
* Remove full support for colour mapsPierre Ossman2014-07-071-6/+0
| | | | | | | | | 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.
* Fix unsafe usage of the logging functions.Pierre Ossman2012-04-261-2/+2
| | | | git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4905 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Reimplement the deferred update handling, this time in a more robust andPierre Ossman2011-11-081-7/+1
| | | | | | | well-behaved manner. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4784 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Clean up the interface for VNCSConnectionST. Entry points are more apparentPierre Ossman2011-11-071-6/+1
| | | | | | | and the data flow is now more strictly aimed towards this connection class. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4771 3789f03b-4d11-0410-bbf8-ca57d06f2519
* MinGW tweak: Constructs such as:Peter Åstrand2008-12-091-1/+1
| | | | | | | | | | | | | | | | | | CharArray somevariable = "somestring" ...are not allowed. It seems like MSVC does not correctly check accessibility for temporaries. Chapter 12.2 of ISO/IEC 14882:2003(E): > Even when the creation of the temporary object is avoided (12.8), > all the semantic restrictions must be respected as if the temporary > object was created. [Example: even if the copy constructor is not > called, all the semantic restrictions, such as accessibility > (clause 11), shall be satisfied. ] git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@3344 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Migrating to new directory structure adopted from the RealVNC's source tree. ↵Constantin Kaplinsky2006-05-251-0/+524
More changes will follow. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@591 3789f03b-4d11-0410-bbf8-ca57d06f2519