diff options
author | Pierre Ossman <ossman@cendio.se> | 2012-07-12 11:31:42 +0000 |
---|---|---|
committer | Pierre Ossman <ossman@cendio.se> | 2012-07-12 11:31:42 +0000 |
commit | 4c81ff45668ba682eb5d3a9f7080d8b14218c040 (patch) | |
tree | ccf58055bb54db545b395e4a42b256ac77819374 /unix/xserver/hw/vnc/XserverDesktop.h | |
parent | 2441e8296dd1f16efef18896d21f2da4689fc628 (diff) | |
download | tigervnc-4c81ff45668ba682eb5d3a9f7080d8b14218c040.tar.gz tigervnc-4c81ff45668ba682eb5d3a9f7080d8b14218c040.zip |
Redo the RandR code in Xvnc/libvnc to use the modern 1.2 API. The old
stuff was a bit buggy, and it didn't really allow us to move forward.
This commit temporarily removes the ability for the client to resize the
session. It will be readded for Xvnc in a later commit. libvnc will be
without that functionality for now, as it is very difficult to get right
there.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4931 3789f03b-4d11-0410-bbf8-ca57d06f2519
Diffstat (limited to 'unix/xserver/hw/vnc/XserverDesktop.h')
-rw-r--r-- | unix/xserver/hw/vnc/XserverDesktop.h | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/unix/xserver/hw/vnc/XserverDesktop.h b/unix/xserver/hw/vnc/XserverDesktop.h index 0aba4ef6..4e9b99b8 100644 --- a/unix/xserver/hw/vnc/XserverDesktop.h +++ b/unix/xserver/hw/vnc/XserverDesktop.h @@ -27,6 +27,8 @@ #include <dix-config.h> #endif +#include <map> + #include <rfb/SDesktop.h> #include <rfb/HTTPServer.h> #include <rfb/PixelBuffer.h> @@ -39,6 +41,9 @@ extern "C" { #define class c_class #include <scrnintstr.h> #include <os.h> +#ifdef RANDR +#include <randrstr.h> +#endif #undef class } @@ -64,6 +69,7 @@ public: void blockUpdates(); void unblockUpdates(); void setFramebuffer(int w, int h, void* fbptr, int stride); + void refreshScreenLayout(); void setColormap(ColormapPtr cmap); void setColourMapEntries(ColormapPtr pColormap, int ndef, xColorItem* pdef); void bell(); @@ -101,10 +107,8 @@ public: virtual void keyEvent(rdr::U32 key, bool down); virtual void clientCutText(const char* str, int len); virtual rfb::Point getFbSize() { return rfb::Point(width(), height()); } -#ifdef RANDR virtual unsigned int setScreenLayout(int fb_width, int fb_height, const rfb::ScreenSet& layout); -#endif // rfb::PixelBuffer callbacks virtual void grabRegion(const rfb::Region& r); @@ -123,6 +127,7 @@ public: private: void setColourMapEntries(int firstColour, int nColours); + rfb::ScreenSet computeScreenLayout(); ScreenPtr pScreen; InputDevice *inputDevice; rfb::VNCServerST* server; @@ -139,5 +144,10 @@ private: void* queryConnectId; rfb::CharArray queryConnectAddress; rfb::CharArray queryConnectUsername; + +#ifdef RANDR + typedef std::map<RRCrtcPtr, rdr::U32> CrtcIdMap; + CrtcIdMap crtcIdMap; +#endif }; #endif |