summaryrefslogtreecommitdiffstats
path: root/client/windows
Commit message (Collapse)AuthorAgeFilesLines
...
* client: Report window format right for win32Alexander Larsson2010-04-292-4/+14
|
* client: Support 16bpp pixmaps on win32Alexander Larsson2010-04-292-6/+33
|
* Fix up win32 client with recent changesAlexander Larsson2010-04-232-1/+10
|
* Client: Support pixmap format conversion in copy_pixelsAlexander Larsson2010-04-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | In order to be able to support 16bit canvases on 32bit screens and 32bit canvases on 16bit screens we need to handle format conversion when drawing RedPixmaps. The way this works now for X11 is that we only have one PIXELS_SOURCE_TYPE for pixmaps, which always has a pixman_image_t for the data, but additionally it has an XImage (shared mem or not) if the screen the pixmap was created for (i.e. an explicit one or the default screen) has the same format as the pixmap. When we draw a pixmap on a drawable we have two variants. If the pixmap has a XImage and it matches the format of the target drawable then we just X(Shm)PutImage it to the drawable. If the formats differ, then we create a temporary XImage and convert into that before drawing it to the screen. Right now this is a bit inefficient, because we always allocate a new temporary image when converting. We want to add some caching here, but at least this lets things work again.
* Move RedPixmap::Format to RedDrawable::FormatAlexander Larsson2010-04-233-9/+9
| | | | | | | | We need to know the format for other drawables too (like for instance the native format of a window), so we're pushing this down. This changes a bunch of references to be RedDrawable::, but not all. The the old RedPixmap:: references still work, but will be phased out.
* Make client canvas and pixmaps handle more formats and simplifyAlexander Larsson2010-04-233-29/+20
| | | | | | | | | | | We now support 16bit format pixmaps as well as the old ones. Including both 555 and 565 modes. We drop the palette argument for pixmap construction as it was only used for black/white anyway. Canvas creation is simplified so that there is no separate set_mode state. Canvases are already created in the right mode and never change.
* Add emacs modelines to more filesAlexander Larsson2010-04-232-0/+2
|
* Relicense everything from GPL to LGPL 2.1+Alexander Larsson2010-04-1323-207/+207
|
* Use upstream name for pthreads lib and new freetype versionAlexander Larsson2010-04-121-2/+2
|
* spice: win32 client: fix gdi lockingIzik Eidus2010-04-094-11/+11
| | | | | | | | | | | While the fix could have been more effective, it seems like this patch stream better with the coding logic that was there..., maybe later we will want to change the locking into more effective way. (There is just the primary surface to protect in reiality) Signed-off-by: Izik Eidus <ieidus@redhat.com>
* Use libjpeg to decode mjpegs, not ffmpegAlexander Larsson2010-04-081-4/+12
| | | | | | | | | | | | | | | | | | This is pretty straightforward, although there are two weird issues. The current encoder has two bugs in the yuv conversion. First of all it switches red and blue, due to something of an endianness issue. We keep this behavior by switching red and blue. Maybe we want to change this in the new protocol version since switching this may cause jpeg compression to be worse. Secondly, the old coder/decoder did rgb to/from yuv420 wrongly for jpeg, not using the "full scale" version of Y that is used in jpeg, but the other one where y goes from 16 to 235. (See jpeg/jfif reference on http://en.wikipedia.org/wiki/YCbCr for details.) The new decoder uses the full range in order to get better quality, which means old encoders will show slightly darker images. This completely removes all ffmpeg usage in the client
* Update project file to visual studio 2008Alexander Larsson2010-04-082-9/+8
|
* New memory allocators that exit on OOM and handle multiplication overflowAlexander Larsson2010-03-111-0/+4
| | | | | | | | | Every place that does a regular malloc/calloc and aborts on failure should use spice_malloc/spice_mallo0 instead, which is leaner and cleaner. Allocations of dynamically sized arrays can use g_malloc_n or g_new etc which correctly handle multiplication overflow if some of the arguments are not trusted.
* Use macros from <spice/macros.h> rather than duplicate themAlexander Larsson2010-03-091-1/+1
|
* Fix up win32 build reference to pixman_utils.cppAlexander Larsson2010-03-051-1/+1
| | | | It was pointing to the wrong directory for pixman_utils.cpp
* Update visual studio project for pixman changesLarsson@.(none)2010-03-011-4/+12
|
* Remove no longer needed CAIRO_CANVAS_CACH_IS_SHARED define and codeAlexander Larsson2010-02-231-2/+2
|
* Use the new header namesAlexander Larsson2010-02-041-1/+1
| | | | | | I just ran: find -name "*.[ch]" | xargs sed -i -f ../spice-protocol/includes.sed find -name "*.cpp" | xargs sed -i -f ../spice-protocol/includes.sed
* Rename symbols that were changed in spice-protocolAlexander Larsson2010-02-044-51/+51
| | | | | | This is an automatic change using: $ find -name "*.[ch]" | xargs ../spice-protocol/rename-identifiers.sh ../spice-protocol/renames $ find -name "*.cpp" | xargs ../spice-protocol/rename-identifiers.sh ../spice-protocol/renames
* client: add Platform::term_printfYaniv Kamay2010-01-112-26/+66
| | | | | | Platform::term_printf is a variant of printf that on windows dynamically opens console in order to have visible output during command line processing.
* client: move log file to spicec appdata dirYaniv Kamay2010-01-111-6/+11
|
* server,client: server authentication for secured channels.Yonit Halperin2010-01-111-0/+19
| | | | | | | | | 3 available mechanisms: by public key, by host name, and by certificate subject name. In the former method, chain of trust verification is not performed. The CA certificate files are looked for under <spice-config-dir>/spice_truststore.pem windows <spice-config-dir>=%APPDATA%\spicec\ linux <spice-config-dir>=$HOME/.spicec/
* spice: menu additonsArnon Gilboa2010-01-071-4/+12
| | | | | | -functions: set_name, remove_command, remove_sub, clear -item state & enum -add state support in RedWindow insert_command & insert_menu
* spice: add missing breakArnon Gilboa2010-01-061-0/+1
|
* client: use spice icon instead-of solidice iconYaniv Kamay2010-01-044-2/+2
|
* spice: position mouse in primary monitor center after full screen toggleArnon Gilboa2009-12-303-10/+29
| | | | | | | -move _focused & _pointer_in_window from RedWindow to RedWindow_p's -move shadow focus & cursor handling to sync() -add reset_cursor_pos() to Platform -Monitor set_mode()/restore() use virtual do_set_mode()/do_restore()
* spice: on_activate_screen generates on_key_down for any modifier pressedArnon Gilboa2009-12-301-33/+17
| | | | | | -call SetWindowsHookEx(WH_KEYBOARD_LL, LowLevelKeyboardProc...) only once, in RedWindow::init() -add Application::cleanup_globals() & RedWindow::cleanup() -cleanup LowLevelKeyboardProc()
* client: remove splash imageYaniv Kamay2009-12-284-7/+1
|
* client: add GUI infrastructure + functional login dialogYaniv Kamay2009-12-282-0/+21
|
* client: add soft renderer and ceguiYaniv Kamay2009-12-281-6/+22
|
* win client: change avcodec version to 51Yaniv Kamay2009-12-241-2/+2
|
* client: new static title imageYaniv Kamay2009-12-231-0/+0
|
* client: KeyHandler now receive unicode char event in addition to RedKey eventsYaniv Kamay2009-11-301-0/+53
|
* client: interactive screen layerYaniv Kamay2009-11-301-20/+29
|
* spice: pass modifiers stroke events down the hook chainArnon Gilboa2009-11-181-5/+13
|
* spice: add [pid:tid] to log linesArnon Gilboa2009-11-181-0/+11
|
* spice: on toggle_full_screen, generate on_key_down if shift is still pressedArnon Gilboa2009-11-181-2/+19
|
* client: change jitter buffer size to 300msYaniv Kamay2009-11-161-2/+2
|
* spice client: sticky Alt activation when holding an Alt key: bug #505912.Yonit Halperin2009-11-155-41/+98
| | | | | | | | | | | Additional changes that were required for the feature: 1) focusing on the pointed window in full screen mode 2) In X11 - handling events that occur during keyboard ungrabbing 3) In X11 - handling Leave/Enter Notify events that occur during keyboard grabbing/ungrabbing 4) In X11 - fix for focus events that are handled in the wrong order (happens when focus events occur during grabbing the keyboard) 5) In X11 - ignoring key release events during key holding 6) In Windows - synchronizing keyboard release events that occured during a modal loop
* spice client: calling the timers during modal loop in WindowsYonit Halperin2009-11-093-0/+60
|
* spice client: remove timer interface from platform - use Application (via ↵Yonit Halperin2009-11-091-35/+0
| | | | ProcessLoop interface).
* spice client: cosmetic changesYonit Halperin2009-11-093-4/+4
|
* spice client: Transfer all channels run loop from EventsLoop class to ↵Yonit Halperin2009-11-095-217/+3
| | | | ProcessLoop class
* spice client: creating a general process loop.Yonit Halperin2009-11-098-223/+362
| | | | | | | | | | | The process loop is responsible for: 1) waiting for events 2) timers 3) events queue for actions that should be performed in the context of the thread and are pushed from other threads. The benefits: 1) remove duplicity: till now, there was one implementaion of events loop for the channels and another one for the main thread. 2) timers can be executed on each thread and not only on the main thread. 3) events can be pushed to each thread and not only to the main thread. In this commit, only the main thread was modified to use the new process loop.
* fix win client copyright stringYaniv Kamay2009-10-271-2/+2
|
* fix build on DebianYaniv Kamay2009-10-261-2/+2
|
* tunnelYonit Halperin2009-10-183-6/+49
|
* change development version to 0.5.0Yaniv Kamay2009-10-141-4/+4
|
* fresh startYaniv Kamay2009-10-1432-0/+4973