Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependents: test SDCard capstone_display capstone_display_2 ... more
Diff: lcd_base.cpp
- Revision:
- 20:4bdca8d8dadc
- Parent:
- 13:5ceeba86bbe4
- Child:
- 21:e5c1e8ffada1
diff -r eb27effb8c07 -r 4bdca8d8dadc lcd_base.cpp
--- a/lcd_base.cpp Thu Dec 13 03:37:22 2012 +0000
+++ b/lcd_base.cpp Fri Dec 21 06:05:15 2012 +0000
@@ -333,43 +333,18 @@
if ( scale == 1 )
{
SetXY( x, y, x + img->Width - 1, y + img->Height - 1 );
-
+
if ( img->Format == RGB16 )
{
const unsigned short *pixel = ( const unsigned short* ) img->PixelData;
- if ( _colorDepth == RGB16 )
- for ( tc = 0; tc < ( img->Width * img->Height ); tc++ )
- WriteData( *pixel++ );
- else if ( _colorDepth == RGB18 )
- {
- unsigned short r, g, b;
- for ( tc = 0; tc < ( img->Width * img->Height ); tc++ )
- {
- r = ( *pixel & 0xF800 ) >> 8;
- g = ( *pixel & 0x07E0 ) >> 3;
- b = ( *pixel & 0x001F ) << 3;
- pixel++;
- SetPixelColor( RGB( r, g, b ) );
- }
- }
+ for ( tc = 0; tc < ( img->Width * img->Height ); tc++ )
+ SetPixelColor( *pixel++, img->Format );
}
else if ( img->Format == RGB18 )
{
const unsigned int *pixel = ( const unsigned int* ) img->PixelData;
- if ( _colorDepth == RGB16 )
- {
- unsigned short r, g, b;
- for ( tc = 0; tc < ( img->Width * img->Height ); tc++ )
- {
- r = ( *pixel >> 16 ) & 0xF8;
- g = ( *pixel >> 8 ) & 0xFC;
- b = ( *pixel++ & 0xF8 ) >> 3;
- WriteData( ( r << 8 ) | ( g >> 5 ) | ( g << 3 ) | b );
- }
- }
- else if ( _colorDepth == RGB18 )
- for ( tc = 0; tc < ( img->Width * img->Height ); tc++ )
- SetPixelColor( *pixel++ );
+ for ( tc = 0; tc < ( img->Width * img->Height ); tc++ )
+ SetPixelColor( *pixel++, img->Format );
}
}
else
@@ -377,35 +352,6 @@
if ( img->Format == RGB16 )
{
const unsigned short *pixel = ( const unsigned short* ) img->PixelData;
- unsigned short r, g, b;
-
- for ( ty = 0; ty < img->Height; ty++ )
- {
- SetXY( x, y + ( ty * scale ), x + ( ( img->Width * scale ) - 1 ), y + ( ty * scale ) + scale );
- for ( tsy = 0; tsy < scale; tsy++ )
- {
- for ( tx = 0; tx < img->Width; tx++ )
- {
- for ( tsx = 0; tsx < scale; tsx++ )
- {
- if ( _colorDepth == RGB16 )
- WriteData( pixel[ ( ty * img->Width ) + tx ] );
- else if ( _colorDepth == RGB18 )
- {
- r = ( pixel[ ( ty * img->Width ) + tx ] & 0xF800 ) >> 8;
- g = ( pixel[ ( ty * img->Width ) + tx ] & 0x07E0 ) >> 3;
- b = ( pixel[ ( ty * img->Width ) + tx ] & 0x001F ) << 3;
- SetPixelColor( RGB( r, g, b ) );
- }
- }
- }
- }
- }
- }
- else if ( img->Format == RGB18 )
- {
- const unsigned int *pixel = ( const unsigned int* ) img->PixelData;
- unsigned short r, g, b;
for ( ty = 0; ty < img->Height; ty++ )
{
@@ -415,17 +361,24 @@
for ( tx = 0; tx < img->Width; tx++ )
{
for ( tsx = 0; tsx < scale; tsx++ )
- {
- if ( _colorDepth == RGB16 )
- {
- r = ( pixel[ ( ty * img->Width ) + tx ] >> 16 ) & 0xF8;
- g = ( pixel[ ( ty * img->Width ) + tx ] >> 8 ) & 0xFC;
- b = ( pixel[ ( ty * img->Width ) + tx ] & 0xF8 ) >> 3;
- WriteData( ( r << 8 ) | ( g >> 5 ) | ( g << 3 ) | b );
- }
- else if ( _colorDepth == RGB18 )
- SetPixelColor( pixel[ ( ty * img->Width ) + tx ] );
- }
+ SetPixelColor( pixel[ ( ty * img->Width ) + tx ], img->Format );
+ }
+ }
+ }
+ }
+ else if ( img->Format == RGB18 )
+ {
+ const unsigned int *pixel = ( const unsigned int* ) img->PixelData;
+
+ for ( ty = 0; ty < img->Height; ty++ )
+ {
+ SetXY( x, y + ( ty * scale ), x + ( ( img->Width * scale ) - 1 ), y + ( ty * scale ) + scale );
+ for ( tsy = 0; tsy < scale; tsy++ )
+ {
+ for ( tx = 0; tx < img->Width; tx++ )
+ {
+ for ( tsx = 0; tsx < scale; tsx++ )
+ SetPixelColor( pixel[ ( ty * img->Width ) + tx ], img->Format );
}
}
}
@@ -449,7 +402,6 @@
if ( img->Format == RGB16 )
{
const unsigned short *pixel = ( const unsigned short* ) img->PixelData;
- unsigned short r, g, b;
for ( ty = 0; ty < img->Height; ty++ )
for ( tx = 0; tx < img->Width; tx++ )
@@ -458,21 +410,12 @@
newy = y + roy + ( ( ( ty - roy ) * cos( radian ) ) + ( ( tx - rox ) * sin( radian ) ) );
SetXY( newx, newy, newx, newy );
- if ( _colorDepth == RGB16 )
- WriteData( pixel[ ( ty * img->Width ) + tx ] );
- else if ( _colorDepth == RGB18 )
- {
- r = ( pixel[ ( ty * img->Width ) + tx ] & 0xF800 ) >> 8;
- g = ( pixel[ ( ty * img->Width ) + tx ] & 0x07E0 ) >> 3;
- b = ( pixel[ ( ty * img->Width ) + tx ] & 0x001F ) << 3;
- SetPixelColor( RGB( r, g, b ) );
- }
+ SetPixelColor( pixel[ ( ty * img->Width ) + tx ], img->Format );
}
}
else if ( img->Format == RGB18 )
{
const unsigned int *pixel = ( const unsigned int* ) img->PixelData;
- unsigned short r, g, b;
for ( ty = 0; ty < img->Height; ty++ )
for ( tx = 0; tx < img->Width; tx++ )
@@ -481,15 +424,7 @@
newy = y + roy + ( ( ( ty - roy ) * cos( radian ) ) + ( ( tx - rox ) * sin( radian ) ) );
SetXY( newx, newy, newx, newy );
- if ( _colorDepth == RGB16 )
- {
- r = ( pixel[ ( ty * img->Width ) + tx ] >> 16 ) & 0xF8;
- g = ( pixel[ ( ty * img->Width ) + tx ] >> 8 ) & 0xFC;
- b = ( pixel[ ( ty * img->Width ) + tx ] & 0xF8 ) >> 3;
- WriteData( ( r << 8 ) | ( g >> 5 ) | ( g << 3 ) | b );
- }
- else if ( _colorDepth == RGB18 )
- SetPixelColor( pixel[ ( ty * img->Width ) + tx ] );
+ SetPixelColor( pixel[ ( ty * img->Width ) + tx ], img->Format );
}
}
Deactivate();