Fixing BitBlit function for it to work with bitmap larger than screen.
authorsl
Sat, 24 May 2014 09:24:40 +0200
changeset 26df50d7cb4dd0
parent 25 233a997193b8
child 27 ee1305f3a6bf
Fixing BitBlit function for it to work with bitmap larger than screen.
inc/FutabaVfd.h
src/FutabaVfd.cpp
src/test.cpp
     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  			}