]> source.dussan.org Git - tigervnc.git/commitdiff
Add flags member to decoders
authorPierre Ossman <ossman@cendio.se>
Thu, 12 Nov 2015 12:07:42 +0000 (13:07 +0100)
committerPierre Ossman <ossman@cendio.se>
Fri, 27 Nov 2015 10:09:16 +0000 (11:09 +0100)
Allows us to add attributes later that affect of the decoder
manager deals with the decoders.

common/rfb/CopyRectDecoder.cxx
common/rfb/Decoder.cxx
common/rfb/Decoder.h
common/rfb/HextileDecoder.cxx
common/rfb/RREDecoder.cxx
common/rfb/RawDecoder.cxx
common/rfb/TightDecoder.cxx
common/rfb/ZRLEDecoder.cxx

index 52de8790ea2de7be2fdee930ecb4a08e3c2200a6..32ed1b3bdd81c5ac29cedb8b63306e0c8b418fbd 100644 (file)
@@ -22,7 +22,7 @@
 
 using namespace rfb;
 
-CopyRectDecoder::CopyRectDecoder()
+CopyRectDecoder::CopyRectDecoder() : Decoder(DecoderPlain)
 {
 }
 
index a1f4438999c49bbc1c60654d7633a08ceacb343a..f9bbffcae8c19bab2d956d802ac97796ede12e0e 100644 (file)
@@ -28,7 +28,7 @@
 
 using namespace rfb;
 
-Decoder::Decoder()
+Decoder::Decoder(enum DecoderFlags flags) : flags(flags)
 {
 }
 
index 7286b41d5f8adf2a1ed881b27bb0d54dbb572c90..95c146682aacf7643ee2573c28dddad15294f3ab 100644 (file)
@@ -28,10 +28,16 @@ namespace rfb {
   class ConnParams;
   class ModifiablePixelBuffer;
   class Rect;
+  class Region;
+
+  enum DecoderFlags {
+    // A constant for decoders that don't need anything special
+    DecoderPlain = 0,
+  };
 
   class Decoder {
   public:
-    Decoder();
+    Decoder(enum DecoderFlags flags);
     virtual ~Decoder();
 
     // These functions are the main interface to an individual decoder
@@ -58,6 +64,9 @@ namespace rfb {
   public:
     static bool supported(int encoding);
     static Decoder* createDecoder(int encoding);
+
+  public:
+    const enum DecoderFlags flags;
   };
 }
 
index d1412d4a12908e2376b927ec659790beef9c1f26..eae0040895e6adb5dbdf0c7cd37d782af17cf3e8 100644 (file)
@@ -36,7 +36,7 @@ using namespace rfb;
 #include <rfb/hextileDecode.h>
 #undef BPP
 
-HextileDecoder::HextileDecoder()
+HextileDecoder::HextileDecoder() : Decoder(DecoderPlain)
 {
 }
 
index 2dd47cc07848dc54f8544662ce9722e4462adfd1..218c9b0bae0549672d28c4614e905f79838968ef 100644 (file)
@@ -36,7 +36,7 @@ using namespace rfb;
 #include <rfb/rreDecode.h>
 #undef BPP
 
-RREDecoder::RREDecoder()
+RREDecoder::RREDecoder() : Decoder(DecoderPlain)
 {
 }
 
index e349bda8bc2d1f526f20bb0839e50e51f773e206..786f15451eda969b536221db1f79f677499793fe 100644 (file)
@@ -25,7 +25,7 @@
 
 using namespace rfb;
 
-RawDecoder::RawDecoder()
+RawDecoder::RawDecoder() : Decoder(DecoderPlain)
 {
 }
 
index 1bfa7a9f02de6e22944a57d40882b0141397c490..24236dba11f384d5316b467077e75478b5be01d4 100644 (file)
@@ -46,7 +46,7 @@ static const int TIGHT_MIN_TO_COMPRESS = 12;
 #include <rfb/tightDecode.h>
 #undef BPP
 
-TightDecoder::TightDecoder()
+TightDecoder::TightDecoder() : Decoder(DecoderPlain)
 {
 }
 
index 498152cf6cc51d0092b86a3bd803386837cfbf8a..c9245c06a7a0261e8c145349821aea9c811e8c99 100644 (file)
@@ -62,7 +62,7 @@ static inline rdr::U32 readOpaque24B(rdr::InStream* is)
 #undef CPIXEL
 #undef BPP
 
-ZRLEDecoder::ZRLEDecoder()
+ZRLEDecoder::ZRLEDecoder() : Decoder(DecoderPlain)
 {
 }