aboutsummaryrefslogtreecommitdiffstats
path: root/unix/xserver/hw/vnc/XserverDesktop.h
diff options
context:
space:
mode:
authorPierre Ossman <ossman@cendio.se>2012-07-12 11:31:42 +0000
committerPierre Ossman <ossman@cendio.se>2012-07-12 11:31:42 +0000
commit4c81ff45668ba682eb5d3a9f7080d8b14218c040 (patch)
treeccf58055bb54db545b395e4a42b256ac77819374 /unix/xserver/hw/vnc/XserverDesktop.h
parent2441e8296dd1f16efef18896d21f2da4689fc628 (diff)
downloadtigervnc-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.h14
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