summaryrefslogtreecommitdiffstats
path: root/unix/tx/TXImage.h
diff options
context:
space:
mode:
Diffstat (limited to 'unix/tx/TXImage.h')
-rw-r--r--unix/tx/TXImage.h97
1 files changed, 0 insertions, 97 deletions
diff --git a/unix/tx/TXImage.h b/unix/tx/TXImage.h
deleted file mode 100644
index 055bd22d..00000000
--- a/unix/tx/TXImage.h
+++ /dev/null
@@ -1,97 +0,0 @@
-/* Copyright (C) 2002-2005 RealVNC Ltd. All Rights Reserved.
- *
- * This is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this software; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
- * USA.
- */
-//
-// TXImage.h
-//
-// A TXImage represents a rectangular off-screen image in any RFB pixel format.
-// By default it will use the "native" pixel format for the screen, which will
-// be an 8-bit colourmap unless the X display is TrueColor. The pixel format
-// can be changed via the setPF() method. The pixel data is accessible via the
-// data member inherited from FullFramePixelBuffer, or can be set via the
-// fillRect(), imageRect(), copyRect() and maskRect() methods, also inherited
-// from PixelBuffer. A rectangle of the image can be drawn into an X Window
-// via the put() method. If using a colourmap, the setColourMapEntries() and
-// updateColourMap() methods must be called to set up the colourmap as
-// appropriate.
-
-
-#ifndef __TXIMAGE_H__
-#define __TXIMAGE_H__
-
-#include <X11/Xlib.h>
-#include <rfb/PixelBuffer.h>
-#include <rfb/ColourMap.h>
-#include <rfb/ColourCube.h>
-#ifdef HAVE_MITSHM
-#include <X11/extensions/XShm.h>
-#endif
-
-namespace rfb { class TransImageGetter; }
-
-class TXImage : public rfb::FullFramePixelBuffer, public rfb::ColourMap {
-public:
- TXImage(Display* dpy, int width, int height, Visual* vis=0, int depth=0);
- ~TXImage();
-
- // resize() resizes the image, preserving the image data where possible.
- void resize(int w, int h);
-
- // put causes the given rectangle to be drawn onto the given window.
- void put(Window win, GC gc, const rfb::Rect& r);
-
- // setColourMapEntries() changes some of the entries in the colourmap.
- // However these settings won't take effect until updateColourMap() is
- // called. This is because recalculating the internal translation table can
- // be expensive.
- void setColourMapEntries(int firstColour, int nColours, rdr::U16* rgbs);
- void updateColourMap();
-
-#ifdef HAVE_MITSHM
- bool usingShm() { return shminfo; }
-#else
- bool usingShm() { return 0; }
-#endif
-
- // PixelBuffer methods
- // width(), height(), getPF() etc are inherited from PixelBuffer
- virtual void setPF(const rfb::PixelFormat& pf);
- virtual int getStride() const;
-
-private:
-
- // ColourMap method
- virtual void lookup(int index, int* r, int* g, int* b);
-
- void createXImage();
- void destroyXImage();
- void getNativePixelFormat(Visual* vis, int depth);
-
- XImage* xim;
- Display* dpy;
- Visual* vis;
- int depth;
-#ifdef HAVE_MITSHM
- XShmSegmentInfo* shminfo;
-#endif
- rfb::TransImageGetter* tig;
- rfb::Colour colourMap[256];
- rfb::PixelFormat nativePF;
- rfb::ColourCube* cube;
-};
-
-#endif