+++ /dev/null
-/* 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.
- */
-#ifndef __RFB_IMAGEGETTER_H__
-#define __RFB_IMAGEGETTER_H__
-
-#include <rfb/Rect.h>
-
-namespace rfb {
- class ImageGetter {
- public:
- virtual void getImage(void* imageBuf,
- const Rect& r, int stride=0) = 0;
- virtual ~ImageGetter() {}
- };
-}
-#endif
#ifndef __RFB_PIXEL_BUFFER_H__
#define __RFB_PIXEL_BUFFER_H__
-#include <rfb/ImageGetter.h>
#include <rfb/PixelFormat.h>
#include <rfb/Rect.h>
#include <rfb/Pixel.h>
class Region;
- class PixelBuffer : public ImageGetter {
+ class PixelBuffer {
public:
PixelBuffer(const PixelFormat& pf, int width, int height);
virtual ~PixelBuffer();
// Get pixel data for a given part of the buffer
// Data is copied into the supplied buffer, with the specified
- // stride.
- virtual void getImage(void* imageBuf, const Rect& r, int stride=0);
+ // stride. Try to avoid using this though as getBuffer() will in
+ // most cases avoid the extra memory copy.
+ void getImage(void* imageBuf, const Rect& r, int stride=0);
///////////////////////////////////////////////
// Framebuffer update methods
#include <rfb/Rect.h>
#include <rfb/PixelFormat.h>
#include <rfb/PixelTransformer.h>
-#include <rfb/ImageGetter.h>
namespace rfb {
class SMsgWriter;
class PixelBuffer;
- class TransImageGetter : public ImageGetter,
- public PixelTransformer {
+ class TransImageGetter : public PixelTransformer {
public:
TransImageGetter(bool econ=false);