Fixing BitBlit function for it to work with bitmap larger than screen.
1.1 --- a/inc/FutabaVfd.h Sat May 24 00:43:18 2014 +0200
1.2 +++ b/inc/FutabaVfd.h Sat May 24 09:24:40 2014 +0200
1.3 @@ -127,7 +127,7 @@
1.4 virtual void SetPixel(unsigned char aX, unsigned char aY, bool aOn);
1.5 virtual void SetAllPixels(unsigned char aPattern);
1.6 virtual int FrameBufferSizeInBytes() const {return KGP12xFrameBufferSizeInBytes;};
1.7 - virtual void BitBlit(BitArray& aBitmap, unsigned char aSrcWidth, unsigned char aSrcHeight, unsigned char aTargetX, unsigned char aTargetY) const;
1.8 + virtual void BitBlit(BitArray& aBitmap, int aSrcWidth, int aSrcHeight, int aTargetX, int aTargetY) const;
1.9 //From FutabaVfd
1.10 virtual void SetBrightness(int aBrightness);
1.11 virtual void Clear();
2.1 --- a/src/FutabaVfd.cpp Sat May 24 00:43:18 2014 +0200
2.2 +++ b/src/FutabaVfd.cpp Sat May 24 09:24:40 2014 +0200
2.3 @@ -131,8 +131,9 @@
2.4
2.5 /**
2.6 */
2.7 -void GP1212A01A::BitBlit(BitArray& aBitmap, unsigned char aSrcWidth, unsigned char aSrcHeight, unsigned char aTargetX, unsigned char aTargetY) const
2.8 +void GP1212A01A::BitBlit(BitArray& aBitmap, int aSrcWidth, int aSrcHeight, int aTargetX, int aTargetY) const
2.9 {
2.10 + //TODO: amend loop values so that we don't keep on looping past our frame buffer dimensions.
2.11 for (int i=0;i<aSrcWidth;i++)
2.12 {
2.13 for (int j=0;j<aSrcHeight;j++)
3.1 --- a/src/test.cpp Sat May 24 00:43:18 2014 +0200
3.2 +++ b/src/test.cpp Sat May 24 09:24:40 2014 +0200
3.3 @@ -806,6 +806,7 @@
3.4
3.5 if (iVfd01.IsOpen())
3.6 {
3.7 + iVfd01.Clear();
3.8 iVfd01.BitBlit(*iPixelBuffer,w,h,0,0);
3.9 iVfd01.SwapBuffers();
3.10 }