summaryrefslogtreecommitdiff
path: root/src/graphics/Graphics.cpp
diff options
context:
space:
mode:
authorSimon Robertshaw <simon@hardwired.org.uk>2012-07-24 14:38:18 (GMT)
committer Simon Robertshaw <simon@hardwired.org.uk>2012-07-24 14:38:18 (GMT)
commitda77cb809bf692794a70b680f24455f73ce7a396 (patch)
tree93ff18319944cd595be92eac581897a838ac77aa /src/graphics/Graphics.cpp
parentbc2e4ab23faa02164ba7e029c90868484184ec3b (diff)
downloadpowder-da77cb809bf692794a70b680f24455f73ce7a396.zip
powder-da77cb809bf692794a70b680f24455f73ce7a396.tar.gz
Inverted icon state
Diffstat (limited to 'src/graphics/Graphics.cpp')
-rw-r--r--src/graphics/Graphics.cpp123
1 files changed, 99 insertions, 24 deletions
diff --git a/src/graphics/Graphics.cpp b/src/graphics/Graphics.cpp
index 7cc7418..2bed5ee 100644
--- a/src/graphics/Graphics.cpp
+++ b/src/graphics/Graphics.cpp
@@ -714,73 +714,148 @@ void Graphics::textsize(const char * s, int & width, int & height)
height = cHeight;
}
-void Graphics::draw_icon(int x, int y, Icon icon, unsigned char alpha)
+void Graphics::draw_icon(int x, int y, Icon icon, unsigned char alpha, bool invert)
{
y--;
switch(icon)
{
case IconOpen:
- drawchar(x, y, 0x81, 255, 255, 255, alpha);
+ if(invert)
+ drawchar(x, y, 0x81, 0, 0, 0, alpha);
+ else
+ drawchar(x, y, 0x81, 255, 255, 255, alpha);
break;
case IconReload:
- drawchar(x, y, 0x91, 255, 255, 255, alpha);
+ if(invert)
+ drawchar(x, y, 0x91, 0, 0, 0, alpha);
+ else
+ drawchar(x, y, 0x91, 255, 255, 255, alpha);
break;
case IconSave:
- drawchar(x, y, 0x82, 255, 255, 255, alpha);
+ if(invert)
+ drawchar(x, y, 0x82, 0, 0, 0, alpha);
+ else
+ drawchar(x, y, 0x82, 255, 255, 255, alpha);
break;
case IconVoteUp:
- drawchar(x, y, 0xCB, 0, 187, 18, alpha);
+ if(invert)
+ drawchar(x, y, 0xCB, 0, 100, 0, alpha);
+ else
+ drawchar(x, y, 0xCB, 0, 187, 18, alpha);
break;
case IconVoteDown:
- drawchar(x, y, 0xCA, 187, 40, 0, alpha);
+ if(invert)
+ drawchar(x, y, 0xCA, 100, 10, 0, alpha);
+ else
+ drawchar(x, y, 0xCA, 187, 40, 0, alpha);
break;
case IconTag:
- drawchar(x, y, 0x83, 255, 255, 255, alpha);
+ if(invert)
+ drawchar(x, y, 0x83, 0, 0, 0, alpha);
+ else
+ drawchar(x, y, 0x83, 255, 255, 255, alpha);
break;
case IconNew:
- drawchar(x, y, 0x92, 255, 255, 255, alpha);
+ if(invert)
+ drawchar(x, y, 0x92, 0, 0, 0, alpha);
+ else
+ drawchar(x, y, 0x92, 255, 255, 255, alpha);
break;
case IconLogin:
- drawchar(x, y, 0x84, 255, 255, 255, alpha);
+ if(invert)
+ drawchar(x, y, 0x84, 0, 0, 0, alpha);
+ else
+ drawchar(x, y, 0x84, 255, 255, 255, alpha);
break;
case IconSimulationSettings:
- drawchar(x, y+1, 0xCF, 255, 255, 255, alpha);
+ if(invert)
+ drawchar(x, y+1, 0xCF, 0, 0, 0, alpha);
+ else
+ drawchar(x, y+1, 0xCF, 255, 255, 255, alpha);
break;
case IconRenderSettings:
- addchar(x, y+1, 0xD8, 255, 0, 0, alpha);
- addchar(x, y+1, 0xD9, 0, 255, 0, alpha);
- addchar(x, y+1, 0xDA, 0, 0, 255, alpha);
+ if(invert)
+ {
+ drawchar(x, y+1, 0xD8, 255, 0, 0, alpha);
+ drawchar(x, y+1, 0xD9, 0, 255, 0, alpha);
+ drawchar(x, y+1, 0xDA, 0, 0, 255, alpha);
+ }
+ else
+ {
+ addchar(x, y+1, 0xD8, 255, 0, 0, alpha);
+ addchar(x, y+1, 0xD9, 0, 255, 0, alpha);
+ addchar(x, y+1, 0xDA, 0, 0, 255, alpha);
+ }
break;
case IconPause:
- drawchar(x, y, 0x90, 255, 255, 255, alpha);
+ if(invert)
+ drawchar(x, y, 0x90, 0, 0, 0, alpha);
+ else
+ drawchar(x, y, 0x90, 255, 255, 255, alpha);
break;
case IconFavourite:
- drawchar(x, y, 0xCC, 192, 160, 64, alpha);
+ if(invert)
+ drawchar(x, y, 0xCC, 100, 80, 32, alpha);
+ else
+ drawchar(x, y, 0xCC, 192, 160, 64, alpha);
break;
case IconReport:
- drawchar(x, y, 0xE3, 255, 255, 0, alpha);
+ if(invert)
+ drawchar(x, y, 0xE3, 140, 140, 0, alpha);
+ else
+ drawchar(x, y, 0xE3, 255, 255, 0, alpha);
break;
case IconUsername:
- drawchar(x, y, 0x8B, 32, 64, 128, alpha);
- drawchar(x, y, 0x8A, 255, 255, 255, alpha);
+ if(invert)
+ {
+ drawchar(x, y, 0x8B, 32, 64, 128, alpha);
+ drawchar(x, y, 0x8A, 0, 0, 0, alpha);
+ }
+ else
+ {
+ drawchar(x, y, 0x8B, 32, 64, 128, alpha);
+ drawchar(x, y, 0x8A, 255, 255, 255, alpha);
+ }
break;
case IconPassword:
- drawchar(x, y, 0x8C, 160, 144, 32, alpha);
- drawchar(x, y, 0x84, 255, 255, 255, alpha);
+ if(invert)
+ {
+ drawchar(x, y, 0x8C, 160, 144, 32, alpha);
+ drawchar(x, y, 0x84, 0, 0, 0, alpha);
+ }
+ else
+ {
+ drawchar(x, y, 0x8C, 160, 144, 32, alpha);
+ drawchar(x, y, 0x84, 255, 255, 255, alpha);
+ }
break;
case IconClose:
- drawchar(x, y, 0xAA, 230, 230, 230, alpha);
+ if(invert)
+ drawchar(x, y, 0xAA, 20, 20, 20, alpha);
+ else
+ drawchar(x, y, 0xAA, 230, 230, 230, alpha);
break;
case IconVoteSort:
case IconDateSort:
case IconFolder:
case IconSearch:
case IconDelete:
- drawchar(x, y, 0x86, 255, 55, 55, alpha);
- drawchar(x, y, 0x85, 255, 255, 255, alpha);
+ if(invert)
+ {
+ drawchar(x, y, 0x86, 255, 55, 55, alpha);
+ drawchar(x, y, 0x85, 0, 0, 0, alpha);
+ }
+ else
+ {
+ drawchar(x, y, 0x86, 255, 55, 55, alpha);
+ drawchar(x, y, 0x85, 255, 255, 255, alpha);
+ }
break;
default:
- drawchar(x, y, 't', 255, 255, 255, alpha);
+ if(invert)
+ drawchar(x, y, 't', 0, 0 ,0 ,alpha);
+ else
+ drawchar(x, y, 't', 255, 255, 255, alpha);
break;
}
}