]>
source.dussan.org Git - tigervnc.git/log
Pierre Ossman [Thu, 11 Sep 2014 08:48:29 +0000 (10:48 +0200)]
Update FLTK patches based on feeback from upstream
Pierre Ossman [Thu, 11 Sep 2014 08:46:12 +0000 (10:46 +0200)]
Protect the optional IM disabling calls with #ifdef:s
Pierre Ossman [Thu, 21 Aug 2014 11:44:28 +0000 (13:44 +0200)]
Use different keysyms for left and right alt on OS X
The server will get them confused otherwise if they are pressed
at the same time.
Pierre Ossman [Tue, 19 Aug 2014 12:08:04 +0000 (14:08 +0200)]
Disable input methods when the viewport is focused
Input methods are way too complex for us to map them to the VNC
protocol in any sane manner. Best just to disable them and rely
on simple keyboard behaviour when the viewport is active.
Pierre Ossman [Tue, 19 Aug 2014 12:06:53 +0000 (14:06 +0200)]
Ignore FLTK events when we have low level hooks
Some events can sneak through, e.g. from some virtual keyboards.
We need to ignore these to avoid confusion.
Pierre Ossman [Mon, 21 Jul 2014 14:48:43 +0000 (16:48 +0200)]
Add OS X keyboard handler
Pierre Ossman [Mon, 21 Jul 2014 14:46:22 +0000 (16:46 +0200)]
Add Windows keyboard handler
Pierre Ossman [Mon, 21 Jul 2014 14:42:12 +0000 (16:42 +0200)]
Add X11 keyboard handler
Pierre Ossman [Fri, 22 Aug 2014 13:10:22 +0000 (15:10 +0200)]
Add xhandler hook
Boiler plate code to intercept system events from FLTK so that
we can generate proper keyboard messages.
Pierre Ossman [Mon, 21 Jul 2014 14:36:50 +0000 (16:36 +0200)]
Add helper to get combining codepoint from a spacing character
Pierre Ossman [Mon, 21 Jul 2014 14:35:51 +0000 (16:35 +0200)]
Better codepoint for combining ypogegrammeni (dead iota)
Pierre Ossman [Fri, 22 Aug 2014 13:09:54 +0000 (15:09 +0200)]
Attempt to handle Ctrl+key
Hacky attempt to try to figure out the actual key pressed when
FLTK is giving us control codes.
Pierre Ossman [Mon, 21 Jul 2014 14:30:08 +0000 (16:30 +0200)]
Remove simple keyboard model
Remove the FLTK simple keyboard system and reorganise things in
preparation for a more direct approach.
Pierre Ossman [Fri, 22 Aug 2014 12:43:33 +0000 (14:43 +0200)]
Ship FLTK patches instead of referring a URI
It makes things more self contained (although you still need to
download FLTK itself), avoids the confusion of STR:s in varying
states, and allows us to refer to patches that aren't available
on an STR.
Pierre Ossman [Fri, 22 Aug 2014 12:41:03 +0000 (14:41 +0200)]
Update FLTK requirement
We actually require FLTK 1.3.2 as we reference FL_SOCKET.
Pierre Ossman [Mon, 21 Jul 2014 14:22:43 +0000 (16:22 +0200)]
Windows debug builds of vncviewer should have a console
Makes it easier to debug it by having convenient access to the
log output.
Pierre Ossman [Mon, 21 Jul 2014 14:17:23 +0000 (16:17 +0200)]
Use NoSymbol as the error code
This is how the X11 API does things, so it's clearer if we use
the same principle.
Pierre Ossman [Mon, 21 Jul 2014 14:12:00 +0000 (16:12 +0200)]
Make keysymtab static and const
Static to avoid namespace polution, and const so that it can be
shared among instances.
Pierre Ossman [Mon, 21 Jul 2014 14:10:03 +0000 (16:10 +0200)]
Use printf constructor safely
The input string might contain formatting marks, so make sure those
are ignored.
Pierre Ossman [Mon, 14 Jul 2014 14:22:05 +0000 (16:22 +0200)]
Merge branch 'encodemanager' of https://github.com/CendioOssman/tigervnc
Pierre Ossman [Mon, 14 Jul 2014 14:17:46 +0000 (16:17 +0200)]
Merge branch 'nopixeltrans' of https://github.com/CendioOssman/tigervnc
Pierre Ossman [Mon, 14 Jul 2014 14:15:16 +0000 (16:15 +0200)]
Merge branch 'nocolourmap' of https://github.com/CendioOssman/tigervnc
Pierre Ossman [Wed, 9 Jul 2014 15:02:27 +0000 (17:02 +0200)]
String literals are constant
Pierre Ossman [Wed, 9 Jul 2014 14:49:16 +0000 (16:49 +0200)]
Remove PixelTransformer and TransImageGetter
There is nothing using these classes anymore, so remove the clutter.
Pierre Ossman [Fri, 14 Mar 2014 14:59:46 +0000 (15:59 +0100)]
Move image encoding logic into a central EncodeManager class
This allows us to apply a lot more server logic
independently of which encoder is in use.
Most of this class are things moved over from the
Tight encoder.
Pierre Ossman [Wed, 9 Jul 2014 14:44:11 +0000 (16:44 +0200)]
Use PixelBuffer objects as the interface for encoders and decoders
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.
Pierre Ossman [Thu, 13 Feb 2014 13:40:25 +0000 (14:40 +0100)]
Store the mouse cursor in the ConnParams object
Like we do for everything else. This also gets rid
of the callback, which is a bit out of place
compared to everything else.
Pierre Ossman [Thu, 13 Feb 2014 13:37:25 +0000 (14:37 +0100)]
Allow PixelBuffers to be const
Pierre Ossman [Wed, 12 Feb 2014 15:33:43 +0000 (16:33 +0100)]
Add helper class for a rendered cursor
Add a magical cursor framebuffer class for handling when you
want to render the cursor on the server side. Keeps the cursor
specific magic in one contained place.
Pierre Ossman [Wed, 12 Feb 2014 12:24:15 +0000 (13:24 +0100)]
Add convenience variant of getImage()
Pierre Ossman [Mon, 14 Jul 2014 13:03:05 +0000 (15:03 +0200)]
Merge branch 'inputreset' of https://github.com/CendioOssman/tigervnc
Pierre Ossman [Mon, 14 Jul 2014 11:46:48 +0000 (13:46 +0200)]
Handle closing of input devices
The core can decide to close an input device (e.g. during a
server reset). Make sure we respect this by forgetting about
the device and recreating it again later.
Pierre Ossman [Mon, 14 Jul 2014 11:44:46 +0000 (13:44 +0200)]
Remove private storage from InputDevice
We don't need this anymore as we now only have a single
InputDevice object and can easily refer to it directly.
Pierre Ossman [Mon, 14 Jul 2014 11:41:36 +0000 (13:41 +0200)]
Make InputDevice into a singleton
Xorg input devices are global so it doesn't make sense that we
have one InputDevice object per XserverDesktop.
Pierre Ossman [Mon, 14 Jul 2014 11:39:57 +0000 (13:39 +0200)]
Move all functions that InputDevice uses into the class
Pierre Ossman [Mon, 14 Jul 2014 11:36:47 +0000 (13:36 +0200)]
Let XserverDesktop handle syncing cursor position
This makes InputDevice cleaner and just a glue layer for Xorg
input devices.
Pierre Ossman [Mon, 14 Jul 2014 11:20:24 +0000 (13:20 +0200)]
Re-init VNC extension on server reset
fc23895 blocked out a bit too much code when trying to make
libvnc handle server resets. Even though configuration should
only be handled once, the underlying VNC extension needs to
be reinitilised as the X core has removed all extensions on
reset.
Pierre Ossman [Fri, 11 Jul 2014 12:03:44 +0000 (14:03 +0200)]
We need to set a label on all pointer buttons
Pierre Ossman [Thu, 13 Feb 2014 09:38:48 +0000 (10:38 +0100)]
Add convenience functions to ModifiablePixelBuffer
Allows you to modify the buffer with data in a
different pixel format.
Pierre Ossman [Wed, 9 Jul 2014 14:28:55 +0000 (16:28 +0200)]
Test results comparing PixelTransformer and bufferFromBuffer()
Pierre Ossman [Thu, 30 Jan 2014 09:47:07 +0000 (10:47 +0100)]
Add optimised buffer conversion
Handles the common cases when the target or source are in
the preferred 888 format.
If one of the buffers is not 888, then it must also be properly
aligned (which is commonly the case). Performance is now in many
cases on par with PixelTransformer.
Pierre Ossman [Wed, 29 Jan 2014 16:00:36 +0000 (17:00 +0100)]
Add ability to directly convert between two pixel formats
This is a lot easier and cheaper than having to set up a complete
PixelTransformer object.
Pierre Ossman [Tue, 8 Jul 2014 13:06:25 +0000 (15:06 +0200)]
Use lookup tables for pixel upconversion
You have to loop many times when converting e.g. 2 bits to 8,
so have a couple of lookup tables to speed things up. We still
use bit replication to get from 8 bits to 16 bits though.
Pierre Ossman [Wed, 9 Jul 2014 12:12:39 +0000 (14:12 +0200)]
Put some space between the groups of tests
Pierre Ossman [Wed, 9 Jul 2014 12:12:12 +0000 (14:12 +0200)]
Add more 8 bpp conversion tests
Pierre Ossman [Thu, 13 Feb 2014 08:42:48 +0000 (09:42 +0100)]
Only grab the regions we actually need
Allows pixel buffers that do damage tracking to get
proper information.
Pierre Ossman [Thu, 6 Feb 2014 15:31:10 +0000 (16:31 +0100)]
Provide a better R/W base PixelBuffer class
Clearly separates the read API from the write API
and also from actual implementation.
Pierre Ossman [Thu, 30 Jan 2014 16:57:27 +0000 (17:57 +0100)]
Get rid of getStride()
It was confusing and not properly used everywhere.
Callers should use the stride they get when they get
the buffer pointer.
Pierre Ossman [Thu, 30 Jan 2014 16:47:31 +0000 (17:47 +0100)]
Get rid of the direct access abuse of FullFramePixelBuffer's data
Pierre Ossman [Thu, 30 Jan 2014 15:59:14 +0000 (16:59 +0100)]
We don't need a fillRect() that is this optimised
Keep things simple instead and allows us to remove the extra setPF()
methods.
Pierre Ossman [Tue, 28 Jan 2014 12:47:18 +0000 (13:47 +0100)]
Avoid having virtual methods where not needed
Pierre Ossman [Wed, 12 Feb 2014 12:23:30 +0000 (13:23 +0100)]
getImage() doesn't need to be overloadable, keep it simple
Pierre Ossman [Fri, 7 Feb 2014 13:46:26 +0000 (14:46 +0100)]
Create a proper interface base class for the viewport's framebuffer
This allows us to gracefully fall back to the FLTK code in case the
platform specific code cannot be used.
Pierre Ossman [Fri, 31 Jan 2014 11:37:32 +0000 (12:37 +0100)]
Encoders/decoders should track the connection object
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.
Pierre Ossman [Fri, 31 Jan 2014 12:12:18 +0000 (13:12 +0100)]
Push encoder and decoder handling down into the connection objects
This keeps the reader and writer objects clean and simple protocol
decoders/encoders.
Pierre Ossman [Mon, 20 Jan 2014 14:05:21 +0000 (15:05 +0100)]
Remove full support for colour maps
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.
Pierre Ossman [Wed, 12 Feb 2014 12:16:43 +0000 (13:16 +0100)]
Get rid of unnecessary macros as they are only ever set to a single thing
Pierre Ossman [Mon, 17 Mar 2014 13:35:51 +0000 (14:35 +0100)]
Push encoding specific formats into the encoders and decoders
Keep the generic stream classes clean and general.
Pierre Ossman [Fri, 7 Mar 2014 12:48:29 +0000 (13:48 +0100)]
Consolidate the different palette handler implementations
Pierre Ossman [Fri, 31 Jan 2014 10:21:51 +0000 (11:21 +0100)]
Handle CopyRect like any other encoding
Avoids having to special case things. Keeps the code simpler.
Pierre Ossman [Wed, 29 Jan 2014 15:42:48 +0000 (16:42 +0100)]
Avoid reader/writer duplication in every encoder/decoder
Pierre Ossman [Tue, 21 Jan 2014 13:45:10 +0000 (14:45 +0100)]
Remove partial update functionality
Get rid of the ability of encoders to only send part of the
rectangle they are given as we don't want partial updates
anyway.
Pierre Ossman [Thu, 16 Jan 2014 12:39:05 +0000 (13:39 +0100)]
Move serialisation of pseudorects into separate functions
Keeps the code clearer.
Pierre Ossman [Thu, 16 Jan 2014 12:12:40 +0000 (13:12 +0100)]
Merge the "V3" message classes into the normal ones
We have no need for this abstraction so let's keep things simple.
Pierre Ossman [Mon, 7 Jul 2014 12:36:35 +0000 (14:36 +0200)]
Merge branch 'pixeltest' of https://github.com/CendioOssman/tigervnc
Pierre Ossman [Mon, 7 Jul 2014 12:27:04 +0000 (14:27 +0200)]
Merge branch 'cleanup' of https://github.com/CendioOssman/tigervnc
Pierre Ossman [Mon, 7 Jul 2014 12:13:46 +0000 (14:13 +0200)]
Remove a lot of platform compatibilty stuff
It's either not used, or no longer relevant.
Pierre Ossman [Mon, 7 Jul 2014 11:44:03 +0000 (13:44 +0200)]
Remove remnants of Windows only client
Pierre Ossman [Wed, 12 Feb 2014 12:12:31 +0000 (13:12 +0100)]
Fix some offenders that poke around in the PixelFormat internals
Pierre Ossman [Thu, 30 Jan 2014 08:51:39 +0000 (09:51 +0100)]
Avoid code duplication for the linear pixel format conversion methods
Pierre Ossman [Wed, 22 Jan 2014 10:28:05 +0000 (11:28 +0100)]
Consistent use of stride vs pitch
Consistently use the term stride rather than pitch. Also
consistently represent the stride in number of pixels rather
than number of bytes. There is so much code that assumes
proper alignment already that we do not need the extra resolution.
Pierre Ossman [Mon, 20 Jan 2014 16:11:19 +0000 (17:11 +0100)]
Fix possible information leakage
Zero the padding byte used when converting 24-bit RGB to 32-bit.
Pierre Ossman [Mon, 20 Jan 2014 15:40:10 +0000 (16:40 +0100)]
Use the same algorithm for conversions
Make sure that the routines that convert between buffer
and rgb representations follow the same algorithm so it's
easier to compare them.
Pierre Ossman [Mon, 20 Jan 2014 16:23:51 +0000 (17:23 +0100)]
Optimise the RGB to pixel conversion to simple shifts
Might as well make it inline at this point as well as it is used
heavily in other routines that convert entire blocks of pixels.
Pierre Ossman [Mon, 17 Mar 2014 13:42:10 +0000 (14:42 +0100)]
Remove magic JPEG variables from ConnParams
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.
Pierre Ossman [Wed, 15 Jan 2014 12:44:04 +0000 (13:44 +0100)]
Clean up the encoding parser in ConnParams
Pierre Ossman [Wed, 15 Jan 2014 12:23:43 +0000 (13:23 +0100)]
Make the subsampling setting follow the common style
Pierre Ossman [Mon, 27 Jan 2014 15:52:35 +0000 (16:52 +0100)]
Remove some premature optimisation
Reduces header dependencies.
Pierre Ossman [Mon, 27 Jan 2014 15:17:21 +0000 (16:17 +0100)]
Add some missing whitespace
Pierre Ossman [Wed, 15 Jan 2014 12:51:53 +0000 (13:51 +0100)]
Stop storing a copy of the encodings as we don't use it for anything
Pierre Ossman [Wed, 15 Jan 2014 11:40:20 +0000 (12:40 +0100)]
Get rid of the register mechanism for encoders and decoders
We have no use for it, so let's keep things simple.
Pierre Ossman [Tue, 28 Jan 2014 13:13:12 +0000 (14:13 +0100)]
Be more consistent in referring to pixel byte streams as buffers
Pierre Ossman [Mon, 20 Jan 2014 15:55:19 +0000 (16:55 +0100)]
Document the different pixel representations that we deal with
Pierre Ossman [Thu, 13 Mar 2014 14:08:36 +0000 (15:08 +0100)]
Get rid of unused things in the ZRLE encoder
Get rid of unused shared MemOutStream and variable max length
functionality in the ZRLE encoder.
Pierre Ossman [Fri, 7 Feb 2014 13:51:44 +0000 (14:51 +0100)]
Remove unused method prototype
Pierre Ossman [Thu, 30 Jan 2014 16:15:55 +0000 (17:15 +0100)]
Remove all unused TX widgets
Pierre Ossman [Wed, 29 Jan 2014 16:10:27 +0000 (17:10 +0100)]
Remove the scaled pixel buffer classes as they are not used.
There were also reports of them being broken last time we still
made use of them.
Pierre Ossman [Tue, 28 Jan 2014 15:43:22 +0000 (16:43 +0100)]
Remove unused (and commented out) PixelBuffer::getPixel()
Pierre Ossman [Tue, 28 Jan 2014 15:41:29 +0000 (16:41 +0100)]
Remove unused alternative code path from the ZRLE and Hextile decoders
Pierre Ossman [Mon, 20 Jan 2014 15:55:04 +0000 (16:55 +0100)]
Remove unused pixel conversion method
Pierre Ossman [Thu, 16 Jan 2014 12:23:47 +0000 (13:23 +0100)]
Remove unsused, commented out code
Pierre Ossman [Mon, 20 Jan 2014 13:43:52 +0000 (14:43 +0100)]
Clean up header dependencies in the vncviewer directory
Pierre Ossman [Wed, 15 Jan 2014 12:22:03 +0000 (13:22 +0100)]
Reduce dependencies on TransImageGetter.h
Pierre Ossman [Fri, 21 Mar 2014 11:38:59 +0000 (12:38 +0100)]
Support keeping libjpeg's default compression setting
Pierre Ossman [Mon, 17 Mar 2014 13:29:49 +0000 (14:29 +0100)]
Check that we have a cursor to restore
Forgot to check that we actually have a cursor from the server
before trying to switch back to it after dismissing the context menu.
Pierre Ossman [Fri, 28 Feb 2014 10:54:34 +0000 (11:54 +0100)]
Converting to RGB might involve a precision increase
Need to do more than a simple shift to get the appropriate
new value. This isn't quite as exact as a proper multiplication
and division, but the error is so small it's not worth the
extra cycles.
Pierre Ossman [Fri, 4 Jul 2014 12:12:49 +0000 (14:12 +0200)]
Add pixel conversion speed test
Add a tests directory where we can put tests programs that can
be useful during testing. Start with a speed test for the pixel
conversion routines.
Pierre Ossman [Fri, 4 Jul 2014 09:34:02 +0000 (11:34 +0200)]
librfb needs librdr so make sure it always gets pulled in
Pierre Ossman [Mon, 20 Jan 2014 13:50:19 +0000 (14:50 +0100)]
Make sure we check that PixelFormats we get are actually valid.
Brian P. Hinz [Fri, 27 Jun 2014 01:35:48 +0000 (21:35 -0400)]
Embedded applet should not show server dialog