Move image encoding logic into a central EncodeManager class
This allows us to apply a lot more server logic
independently of which encoder is in use.
Most of this class are things moved over from the
Tight encoder.
diff --git a/common/rfb/RawEncoder.h b/common/rfb/RawEncoder.h
index c2d9f25..ee98d4a 100644
--- a/common/rfb/RawEncoder.h
+++ b/common/rfb/RawEncoder.h
@@ -1,4 +1,5 @@
/* Copyright (C) 2002-2005 RealVNC Ltd. All Rights Reserved.
+ * Copyright 2014 Pierre Ossman for Cendio AB
*
* This is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -26,7 +27,11 @@
public:
RawEncoder(SConnection* conn);
virtual ~RawEncoder();
- virtual void writeRect(const Rect& r, PixelBuffer* pb);
+ virtual bool isSupported();
+ virtual void writeRect(const PixelBuffer* pb, const Palette& palette);
+ virtual void writeSolidRect(int width, int height,
+ const PixelFormat& pf,
+ const rdr::U8* colour);
};
}
#endif