summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Update FLTK patches based on feeback from upstreamPierre Ossman2014-09-115-97/+229
|
* Protect the optional IM disabling calls with #ifdef:sPierre Ossman2014-09-113-0/+8
|
* Use different keysyms for left and right alt on OS XPierre Ossman2014-08-221-0/+2
| | | | | The server will get them confused otherwise if they are pressed at the same time.
* Disable input methods when the viewport is focusedPierre Ossman2014-08-222-0/+468
| | | | | | 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.
* Ignore FLTK events when we have low level hooksPierre Ossman2014-08-221-0/+4
| | | | | Some events can sneak through, e.g. from some virtual keyboards. We need to ignore these to avoid confusion.
* Add OS X keyboard handlerPierre Ossman2014-08-223-1/+423
|
* Add Windows keyboard handlerPierre Ossman2014-08-223-1/+250
|
* Add X11 keyboard handlerPierre Ossman2014-08-222-0/+51
|
* Add xhandler hookPierre Ossman2014-08-225-0/+231
| | | | | Boiler plate code to intercept system events from FLTK so that we can generate proper keyboard messages.
* Add helper to get combining codepoint from a spacing characterPierre Ossman2014-08-222-0/+48
|
* Better codepoint for combining ypogegrammeni (dead iota)Pierre Ossman2014-08-221-1/+1
|
* Attempt to handle Ctrl+keyPierre Ossman2014-08-221-1/+17
| | | | | Hacky attempt to try to figure out the actual key pressed when FLTK is giving us control codes.
* Remove simple keyboard modelPierre Ossman2014-08-2220-1103/+224
| | | | | Remove the FLTK simple keyboard system and reorganise things in preparation for a more direct approach.
* Ship FLTK patches instead of referring a URIPierre Ossman2014-08-2219-48/+5156
| | | | | | | 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.
* Update FLTK requirementPierre Ossman2014-08-221-2/+2
| | | | We actually require FLTK 1.3.2 as we reference FL_SOCKET.
* Windows debug builds of vncviewer should have a consolePierre Ossman2014-07-211-1/+1
| | | | | Makes it easier to debug it by having convenient access to the log output.
* Use NoSymbol as the error codePierre Ossman2014-07-212-4/+10
| | | | | This is how the X11 API does things, so it's clearer if we use the same principle.
* Make keysymtab static and constPierre Ossman2014-07-211-1/+3
| | | | | Static to avoid namespace polution, and const so that it can be shared among instances.
* Use printf constructor safelyPierre Ossman2014-07-211-1/+1
| | | | | The input string might contain formatting marks, so make sure those are ignored.
* Merge branch 'encodemanager' of https://github.com/CendioOssman/tigervncPierre Ossman2014-07-1436-1608/+2255
|\
| * String literals are constantPierre Ossman2014-07-142-5/+7
| |
| * Move image encoding logic into a central EncodeManager classPierre Ossman2014-07-1434-1603/+2248
| | | | | | | | | | | | | | | | 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.
* | Merge branch 'nopixeltrans' of https://github.com/CendioOssman/tigervncPierre Ossman2014-07-1471-1300/+1157
|\|
| * Remove PixelTransformer and TransImageGetterPierre Ossman2014-07-148-705/+0
| | | | | | | | There is nothing using these classes anymore, so remove the clutter.
| * Use PixelBuffer objects as the interface for encoders and decodersPierre Ossman2014-07-1445-363/+200
| | | | | | | | | | | | | | 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.
| * Store the mouse cursor in the ConnParams objectPierre Ossman2014-07-146-118/+153
| | | | | | | | | | | | Like we do for everything else. This also gets rid of the callback, which is a bit out of place compared to everything else.
| * Allow PixelBuffers to be constPierre Ossman2014-07-144-15/+17
| |
| * Add helper class for a rendered cursorPierre Ossman2014-07-145-25/+74
| | | | | | | | | | | | 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.
| * Add convenience variant of getImage()Pierre Ossman2014-07-142-0/+25
| |
| * Add convenience functions to ModifiablePixelBufferPierre Ossman2014-07-092-0/+29
| | | | | | | | | | Allows you to modify the buffer with data in a different pixel format.
| * Test results comparing PixelTransformer and bufferFromBuffer()Pierre Ossman2014-07-094-0/+106
| |
| * Add optimised buffer conversionPierre Ossman2014-07-093-0/+291
| | | | | | | | | | | | | | | | | | 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.
| * Add ability to directly convert between two pixel formatsPierre Ossman2014-07-093-0/+65
| | | | | | | | | | This is a lot easier and cheaper than having to set up a complete PixelTransformer object.
| * Use lookup tables for pixel upconversionPierre Ossman2014-07-093-44/+64
| | | | | | | | | | | | 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.
| * Put some space between the groups of testsPierre Ossman2014-07-091-0/+8
| |
| * Add more 8 bpp conversion testsPierre Ossman2014-07-091-0/+13
| |
| * Only grab the regions we actually needPierre Ossman2014-07-071-22/+33
| | | | | | | | | | Allows pixel buffers that do damage tracking to get proper information.
| * Provide a better R/W base PixelBuffer classPierre Ossman2014-07-079-32/+103
| | | | | | | | | | Clearly separates the read API from the write API and also from actual implementation.
* | Merge branch 'nocolourmap' of https://github.com/CendioOssman/tigervncPierre Ossman2014-07-14110-3514/+1990
|\|
| * Get rid of getStride()Pierre Ossman2014-07-0714-53/+25
| | | | | | | | | | | | It was confusing and not properly used everywhere. Callers should use the stride they get when they get the buffer pointer.
| * Get rid of the direct access abuse of FullFramePixelBuffer's dataPierre Ossman2014-07-078-27/+58
| |
| * We don't need a fillRect() that is this optimisedPierre Ossman2014-07-072-83/+19
| | | | | | | | | | Keep things simple instead and allows us to remove the extra setPF() methods.
| * Avoid having virtual methods where not neededPierre Ossman2014-07-072-17/+10
| |
| * getImage() doesn't need to be overloadable, keep it simplePierre Ossman2014-07-073-38/+5
| |
| * Create a proper interface base class for the viewport's framebufferPierre Ossman2014-07-0713-73/+195
| | | | | | | | | | This allows us to gracefully fall back to the FLTK code in case the platform specific code cannot be used.
| * Encoders/decoders should track the connection objectPierre Ossman2014-07-0735-110/+103
| | | | | | | | | | | | 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-0711-152/+87
| | | | | | | | | | This keeps the reader and writer objects clean and simple protocol decoders/encoders.
| * Remove full support for colour mapsPierre Ossman2014-07-0748-1247/+309
| | | | | | | | | | | | | | | | | | 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.
| * Get rid of unnecessary macros as they are only ever set to a single thingPierre Ossman2014-07-0715-85/+30
| |
| * Push encoding specific formats into the encoders and decodersPierre Ossman2014-07-0712-63/+91
| | | | | | | | Keep the generic stream classes clean and general.