summaryrefslogtreecommitdiffstats
path: root/client/screen.cpp
Commit message (Collapse)AuthorAgeFilesLines
* client: Remove client codeChristophe Fergeau2014-12-031-944/+0
| | | | | | The client has been superseded by virt-viewer ( http://virt-manager.org/download/sources/virt-viewer/ ) and is no longer being maintained.
* Fix an overlooked x11 client case.Jeremy White2013-10-091-0/+2
| | | | Signed-off-by: Jeremy White <jwhite@codeweavers.com>
* spicec: use doublebuffer for openglMarc-André Lureau2013-09-301-0/+1
| | | | | | This visually reduces glitches without noticeable speed difference. It's also the traditionnal way of doing opengl.
* Remove trailing blank linesDaniel P. Berrange2012-01-131-1/+0
| | | | Remove any blank lines at the end of all source files
* client: screen: fix typo _forec_update_timerUri Lublin2011-12-221-5/+5
| | | | sed -i 's/_forec_update_timer/_force_update_timer/' screen.cpp screen.h
* client: RedScreen::RedScreen: fix initialization order of _menu_needs_updateUri Lublin2011-12-221-1/+1
| | | | Related to a91b0b3ff712eb2a7d91a951f2af7842495357c3
* client: update menu if needed when exiting full-screen mode (#758260)Uri Lublin2011-12-201-1/+6
|
* spelling: s/cupture/captureMarc-André Lureau2011-12-141-1/+1
|
* fix typosChristophe Fergeau2011-09-151-26/+26
| | | | | | | applicaion => application Attache => Attach Detache => Detach _layes => _layers
* client: fix endless recursion in rearrange_monitors, RHBZ #692976Yonit Halperin2011-07-211-4/+0
| | | | | | | | | | The endless recursion happens due to Application::prepare_monitors calling RedScreen::resize calling Application::rearrange_monitors calling Application::prepare_monitors I changed RedScreen::resize not to call rearrange_monitors. Instead, the monitor should be configured correctly from Application, before calling resize. In addition, I made some cleanups to allow reusing rearrange_monitors code.
* client: fix for redundant shift+f11 RHBZ #674532Yonit Halperin2011-06-141-0/+4
| | | | | | | | | | | After shift+F11, both in Windows 7 and xp clients, WM_KEYUP events were missing for SHIFT and F11. For F11 it was less important since unpress_all was preformed for all keys. However, we perform sync for all the keyboard modifiers and the GetKeyboardState returns "down" for shift. In windows7 client, we sometimes received afterwards a F11 KEYDOWN event repetition, and this caused SHIFT+F11 to be called again. Not performing hiding of the windows while changing client resolutions, solved the problem of missing events, and I don't see any difference in how spice looks while toggling to full screen. Using GetAsyncKeyState, returns "UP" for shift in windows 7, and helps avoid performing shift+f11 again, if there is an F11 repetition before we receive the KEYUP event for shift.
* s/USE_OGL/USE_OPENGLChristophe Fergeau2011-05-031-3/+3
| | | | This is more explicit about what it does, and not much longer
* add #include <config.h> to all source filesChristophe Fergeau2011-05-031-0/+3
| | | | | | | | When using config.h, it must be the very first include in all source files since it contains #define that may change the compilation process (eg libc structure layout changes when it's used to enable large file support on 32 bit x86 archs). This commit adds it at the beginning of all .c and .cpp files
* client: Interpret the title control message as utf8 instead of unicode16Hans de Goede2010-10-211-3/+3
| | | | | | | The activex browser plugin is sending unicode16 text, where as the xpi one is sending utf8 text. After discussing this on irc we've decided that utf8 is what we want to use. So the client (this patch), and the activex will be changed to expect resp. send utf8 text as the title.
* spicec: extract RedScreen::update_menu()Arnon Gilboa2010-10-171-2/+7
|
* Make opengl optional, disabled by defaultAlexander Larsson2010-06-211-0/+2
| | | | | | | | | | The OpenGL renderer isn't really useful right now, its not quite up to date, its not really faster than software and it only supports a limited subset of drivers. So, lets disable it for now. Long term opengl rendering of the 2d part of spice is important if we want to combine 2d and 3d rendering (say if spice adds opengl support in the protocol). But until then this is isn't useful for normal use.
* JPEG support: introducing jpeg encoding for spice bitmapsYonit Halperin2010-06-091-1/+1
|
* Remove all mentions of "cairo" from the codeAlexander Larsson2010-05-031-3/+3
| | | | | The command line option is renamed from "cairo" to "sw", and similarly all filenames and types from Cairo to Sw (and similar).
* 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.
* Create screen composit area in same format as windowAlexander Larsson2010-04-231-2/+2
| | | | | This way we don't have to convert when drawing to it, or drawing it to the dc.
* Make client canvas and pixmaps handle more formats and simplifyAlexander Larsson2010-04-231-1/+1
| | | | | | | | | | | 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.
* Relicense everything from GPL to LGPL 2.1+Alexander Larsson2010-04-131-9/+9
|
* Replace custom region implementation with pixman_region32_tAlexander Larsson2010-02-231-9/+41
| | | | | | pixman_region32_t is an efficient well tested region implementation (its the one used in X) that we already depend on via pixman and use in some places. No need to have a custom region implementation.
* Rename symbols that were changed in spice-protocolAlexander Larsson2010-02-041-12/+12
| | | | | | 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: improve screen resizingYaniv Kamay2009-12-281-2/+15
| | | | | | | | | | | Screen now have to modes locked and unlocked. In unlocked mode, the application can change screen size and so reduce resolution changing. The application can also choose to change window size while not in full screen mode. In locked mode the application must ewtain locker screen size setting.
* client: restore mouse capture state after screen resizingYaniv Kamay2009-12-281-1/+7
|
* client: KeyHandler now receive unicode char event in addition to RedKey eventsYaniv Kamay2009-11-301-0/+5
|
* client: interactive screen layerYaniv Kamay2009-11-301-107/+195
|
* spice client: sticky Alt activation when holding an Alt key: bug #505912.Yonit Halperin2009-11-151-6/+19
| | | | | | | | | | | 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: remove timer interface from platform - use Application (via ↵Yonit Halperin2009-11-091-14/+6
| | | | ProcessLoop interface).
* spice client: Transfer all channels run loop from EventsLoop class to ↵Yonit Halperin2009-11-091-1/+1
| | | | ProcessLoop class
* spice client: creating a general process loop.Yonit Halperin2009-11-091-2/+3
| | | | | | | | | | | 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.
* fresh startYaniv Kamay2009-10-141-0/+777