|
|
@ -20,24 +20,25 @@ |
|
|
|
|
|
|
|
|
|
|
|
#include "AlgoDisplay.h" |
|
|
|
#include "AlgoDisplay.h" |
|
|
|
#include "DXLookNFeel.h" |
|
|
|
#include "DXLookNFeel.h" |
|
|
|
|
|
|
|
#include "Dexed.h" |
|
|
|
|
|
|
|
|
|
|
|
AlgoDisplay::AlgoDisplay() { |
|
|
|
AlgoDisplay::AlgoDisplay() { |
|
|
|
static char tmpAlgo = 0; |
|
|
|
static char tmpAlgo = 0; |
|
|
|
algo = &tmpAlgo; |
|
|
|
algo = &tmpAlgo; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
inline void displayOp(Graphics &g, char id, char x, char y, char link, char fb) { |
|
|
|
inline void displayOp(Graphics &g, char id, int x, int y, char link, char fb) { |
|
|
|
const int LINE_SZ = 3; |
|
|
|
const int LINE_SZ = 3; |
|
|
|
String t(id); |
|
|
|
String t(id); |
|
|
|
|
|
|
|
|
|
|
|
x *= 25; |
|
|
|
x *= 25; |
|
|
|
|
|
|
|
x += 3; |
|
|
|
y *= 21; |
|
|
|
y *= 21; |
|
|
|
y += 5; |
|
|
|
y += 5; |
|
|
|
|
|
|
|
|
|
|
|
g.setColour(Colours::white); |
|
|
|
g.setColour(Colours::white); |
|
|
|
g.drawText(t, x, y, 16, 12, Justification::centred, true); |
|
|
|
g.drawText(t, x, y, 16, 12, Justification::centred, true); |
|
|
|
|
|
|
|
|
|
|
|
g.setGradientFill(ColourGradient()); |
|
|
|
|
|
|
|
g.setColour(DXLookNFeel::fillColour); |
|
|
|
g.setColour(DXLookNFeel::fillColour); |
|
|
|
switch(link) { |
|
|
|
switch(link) { |
|
|
|
case 0 : // LINE DOWN
|
|
|
|
case 0 : // LINE DOWN
|
|
|
@ -49,18 +50,6 @@ inline void displayOp(Graphics &g, char id, char x, char y, char link, char fb) |
|
|
|
break; |
|
|
|
break; |
|
|
|
case 2: // ARROW TO RIGHT JOIN
|
|
|
|
case 2: // ARROW TO RIGHT JOIN
|
|
|
|
g.drawLine(x+8, y+12, x+8, y+19, LINE_SZ); |
|
|
|
g.drawLine(x+8, y+12, x+8, y+19, LINE_SZ); |
|
|
|
//g.drawLine(x-17, y+18, x+9, y+18, LINE_SZ);
|
|
|
|
|
|
|
|
break; |
|
|
|
|
|
|
|
case 3: // LINE
|
|
|
|
|
|
|
|
g.drawLine(x+8, y+12, x+8, y+18, LINE_SZ); |
|
|
|
|
|
|
|
g.drawLine(x, y+18, x+26, y+18, LINE_SZ); |
|
|
|
|
|
|
|
break; |
|
|
|
|
|
|
|
case 4: // LEFT * 2
|
|
|
|
|
|
|
|
g.drawLine(x+8, y+12, x+8, y+18, LINE_SZ); |
|
|
|
|
|
|
|
g.drawLine(x-16, y+18, x+25, y+18, LINE_SZ); |
|
|
|
|
|
|
|
break; |
|
|
|
|
|
|
|
case 5: // RIGHT DIAG
|
|
|
|
|
|
|
|
g.drawLine(x+8, y+12, x+25, y+18, LINE_SZ); |
|
|
|
|
|
|
|
break; |
|
|
|
break; |
|
|
|
case 6: |
|
|
|
case 6: |
|
|
|
g.drawLine(x+8, y+12, x+8, y+18, LINE_SZ); |
|
|
|
g.drawLine(x+8, y+12, x+8, y+18, LINE_SZ); |
|
|
@ -86,14 +75,12 @@ inline void displayOp(Graphics &g, char id, char x, char y, char link, char fb) |
|
|
|
g.drawLine(x+7, y, x+8, y-5, LINE_SZ); |
|
|
|
g.drawLine(x+7, y, x+8, y-5, LINE_SZ); |
|
|
|
g.drawLine(x+8, y-4, x+20, y-4, LINE_SZ); |
|
|
|
g.drawLine(x+8, y-4, x+20, y-4, LINE_SZ); |
|
|
|
g.drawLine(x+19, y-4, x+19, y+59, LINE_SZ); |
|
|
|
g.drawLine(x+19, y-4, x+19, y+59, LINE_SZ); |
|
|
|
// g.drawLine(x+19, y+57, x+19, y+59, LINE_SZ);
|
|
|
|
|
|
|
|
g.drawLine(x+8, y+58, x+19, y+58, LINE_SZ); |
|
|
|
g.drawLine(x+8, y+58, x+19, y+58, LINE_SZ); |
|
|
|
break; |
|
|
|
break; |
|
|
|
case 3: // ALGO 6
|
|
|
|
case 3: // ALGO 6
|
|
|
|
g.drawLine(x+7, y, x+8, y-5, LINE_SZ); |
|
|
|
g.drawLine(x+7, y, x+8, y-5, LINE_SZ); |
|
|
|
g.drawLine(x+8, y-4, x+20, y-4, LINE_SZ); |
|
|
|
g.drawLine(x+8, y-4, x+20, y-4, LINE_SZ); |
|
|
|
g.drawLine(x+19, y-4, x+19, y+37, LINE_SZ); |
|
|
|
g.drawLine(x+19, y-4, x+19, y+37, LINE_SZ); |
|
|
|
//g.drawLine(x+18, y+36, x+19, y+36, LINE_SZ);
|
|
|
|
|
|
|
|
g.drawLine(x+8, y+36, x+19, y+36, LINE_SZ); |
|
|
|
g.drawLine(x+8, y+36, x+19, y+36, LINE_SZ); |
|
|
|
break; |
|
|
|
break; |
|
|
|
case 4: |
|
|
|
case 4: |
|
|
@ -109,6 +96,13 @@ inline void displayOp(Graphics &g, char id, char x, char y, char link, char fb) |
|
|
|
|
|
|
|
|
|
|
|
void AlgoDisplay::paint(Graphics &g) { |
|
|
|
void AlgoDisplay::paint(Graphics &g) { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
g.setColour(DXLookNFeel::fillColour); |
|
|
|
|
|
|
|
g.fillRect(1, 3, 20, 15); |
|
|
|
|
|
|
|
String n = String(*algo +1); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
g.setColour(Colours::white); |
|
|
|
|
|
|
|
g.drawText(n, 1, 3, 20, 15, Justification::centred, true); |
|
|
|
|
|
|
|
|
|
|
|
switch(*algo) { |
|
|
|
switch(*algo) { |
|
|
|
case 0: |
|
|
|
case 0: |
|
|
|
displayOp(g, 6, 3, 0, 0, 1); |
|
|
|
displayOp(g, 6, 3, 0, 0, 1); |
|
|
@ -143,44 +137,44 @@ void AlgoDisplay::paint(Graphics &g) { |
|
|
|
displayOp(g, 1, 2, 3, 1, 0); |
|
|
|
displayOp(g, 1, 2, 3, 1, 0); |
|
|
|
break; |
|
|
|
break; |
|
|
|
case 4: |
|
|
|
case 4: |
|
|
|
displayOp(g, 6, 3, 2, 0, 1); |
|
|
|
displayOp(g, 6, 4, 2, 0, 1); |
|
|
|
displayOp(g, 5, 3, 3, 2, 0); |
|
|
|
displayOp(g, 5, 4, 3, 2, 0); |
|
|
|
displayOp(g, 4, 2, 2, 0, 0); |
|
|
|
displayOp(g, 4, 3, 2, 0, 0); |
|
|
|
displayOp(g, 3, 2, 3, 1, 0); |
|
|
|
displayOp(g, 3, 3, 3, 1, 0); |
|
|
|
displayOp(g, 2, 1, 2, 0, 0); |
|
|
|
displayOp(g, 2, 2, 2, 0, 0); |
|
|
|
displayOp(g, 1, 1, 3, 1, 0);
|
|
|
|
displayOp(g, 1, 2, 3, 1, 0); |
|
|
|
break; |
|
|
|
break; |
|
|
|
case 5: //
|
|
|
|
case 5: //
|
|
|
|
displayOp(g, 6, 3, 2, 0, 3); |
|
|
|
displayOp(g, 6, 4, 2, 0, 3); |
|
|
|
displayOp(g, 5, 3, 3, 2, 0); |
|
|
|
displayOp(g, 5, 4, 3, 2, 0); |
|
|
|
displayOp(g, 4, 2, 2, 0, 0); |
|
|
|
displayOp(g, 4, 3, 2, 0, 0); |
|
|
|
displayOp(g, 3, 2, 3, 1, 0); |
|
|
|
displayOp(g, 3, 3, 3, 1, 0); |
|
|
|
displayOp(g, 2, 1, 2, 0, 0); |
|
|
|
displayOp(g, 2, 2, 2, 0, 0); |
|
|
|
displayOp(g, 1, 1, 3, 1, 0);
|
|
|
|
displayOp(g, 1, 2, 3, 1, 0); |
|
|
|
break; |
|
|
|
break; |
|
|
|
case 6: |
|
|
|
case 6: |
|
|
|
displayOp(g, 6, 3, 1, 0, 1); |
|
|
|
displayOp(g, 6, 4, 1, 0, 1); |
|
|
|
displayOp(g, 5, 3, 2, 7, 0); |
|
|
|
displayOp(g, 5, 4, 2, 7, 0); |
|
|
|
displayOp(g, 4, 2, 2, 0, 0); |
|
|
|
displayOp(g, 4, 3, 2, 0, 0); |
|
|
|
displayOp(g, 3, 2, 3, 2, 0); |
|
|
|
displayOp(g, 3, 3, 3, 2, 0); |
|
|
|
displayOp(g, 2, 1, 2, 0, 0); |
|
|
|
displayOp(g, 2, 2, 2, 0, 0); |
|
|
|
displayOp(g, 1, 1, 3, 1, 0); |
|
|
|
displayOp(g, 1, 2, 3, 1, 0); |
|
|
|
break; |
|
|
|
break; |
|
|
|
case 7: |
|
|
|
case 7: |
|
|
|
displayOp(g, 6, 3, 1, 0, 0); |
|
|
|
displayOp(g, 6, 4, 1, 0, 0); |
|
|
|
displayOp(g, 5, 3, 2, 7, 0); |
|
|
|
displayOp(g, 5, 4, 2, 7, 0); |
|
|
|
displayOp(g, 4, 2, 2, 0, 4); |
|
|
|
displayOp(g, 4, 3, 2, 0, 4); |
|
|
|
displayOp(g, 3, 2, 3, 2, 0); |
|
|
|
displayOp(g, 3, 3, 3, 2, 0); |
|
|
|
displayOp(g, 2, 1, 2, 0, 0); |
|
|
|
displayOp(g, 2, 2, 2, 0, 0); |
|
|
|
displayOp(g, 1, 1, 3, 1, 0); |
|
|
|
displayOp(g, 1, 2, 3, 1, 0); |
|
|
|
break; |
|
|
|
break; |
|
|
|
case 8: |
|
|
|
case 8: |
|
|
|
displayOp(g, 6, 3, 1, 0, 0); |
|
|
|
displayOp(g, 6, 4, 1, 0, 0); |
|
|
|
displayOp(g, 5, 3, 2, 7, 0); |
|
|
|
displayOp(g, 5, 4, 2, 7, 0); |
|
|
|
displayOp(g, 4, 2, 2, 0, 0); |
|
|
|
displayOp(g, 4, 3, 2, 0, 0); |
|
|
|
displayOp(g, 3, 2, 3, 2, 0); |
|
|
|
displayOp(g, 3, 3, 3, 2, 0); |
|
|
|
displayOp(g, 2, 1, 2, 0, 1); |
|
|
|
displayOp(g, 2, 2, 2, 0, 1); |
|
|
|
displayOp(g, 1, 1, 3, 1, 0); |
|
|
|
displayOp(g, 1, 2, 3, 1, 0); |
|
|
|
break; |
|
|
|
break; |
|
|
|
case 9: |
|
|
|
case 9: |
|
|
|
displayOp(g, 6, 2, 2, 0, 0); |
|
|
|
displayOp(g, 6, 2, 2, 0, 0); |
|
|
@ -231,36 +225,36 @@ void AlgoDisplay::paint(Graphics &g) { |
|
|
|
displayOp(g, 1, 2, 3, 1, 0); |
|
|
|
displayOp(g, 1, 2, 3, 1, 0); |
|
|
|
break; |
|
|
|
break; |
|
|
|
case 15: |
|
|
|
case 15: |
|
|
|
displayOp(g, 6, 3, 1, 0, 1); |
|
|
|
displayOp(g, 6, 4, 1, 0, 1); |
|
|
|
displayOp(g, 5, 3, 2, 7, 0); |
|
|
|
displayOp(g, 5, 4, 2, 7, 0); |
|
|
|
displayOp(g, 4, 2, 1, 0, 0); |
|
|
|
displayOp(g, 4, 3, 1, 0, 0); |
|
|
|
displayOp(g, 3, 2, 2, 0, 0); |
|
|
|
displayOp(g, 3, 3, 2, 0, 0); |
|
|
|
displayOp(g, 2, 1, 2, 1, 0); |
|
|
|
displayOp(g, 2, 2, 2, 1, 0); |
|
|
|
displayOp(g, 1, 2, 3, 0, 0); |
|
|
|
displayOp(g, 1, 3, 3, 0, 0); |
|
|
|
break; |
|
|
|
break; |
|
|
|
case 16: |
|
|
|
case 16: |
|
|
|
displayOp(g, 6, 3, 1, 0, 0); |
|
|
|
displayOp(g, 6, 4, 1, 0, 0); |
|
|
|
displayOp(g, 5, 3, 2, 7, 0); |
|
|
|
displayOp(g, 5, 4, 2, 7, 0); |
|
|
|
displayOp(g, 4, 2, 1, 0, 0); |
|
|
|
displayOp(g, 4, 3, 1, 0, 0); |
|
|
|
displayOp(g, 3, 2, 2, 0, 0); |
|
|
|
displayOp(g, 3, 3, 2, 0, 0); |
|
|
|
displayOp(g, 2, 1, 2, 1, 4); |
|
|
|
displayOp(g, 2, 2, 2, 1, 4); |
|
|
|
displayOp(g, 1, 2, 3, 0, 0); |
|
|
|
displayOp(g, 1, 3, 3, 0, 0); |
|
|
|
break; |
|
|
|
break; |
|
|
|
case 17: |
|
|
|
case 17: |
|
|
|
displayOp(g, 6, 3, 0, 0, 0); |
|
|
|
displayOp(g, 6, 4, 0, 0, 0); |
|
|
|
displayOp(g, 5, 3, 1, 0, 0); |
|
|
|
displayOp(g, 5, 4, 1, 0, 0); |
|
|
|
displayOp(g, 4, 3, 2, 7, 0); |
|
|
|
displayOp(g, 4, 4, 2, 7, 0); |
|
|
|
displayOp(g, 3, 2, 2, 0, 4); |
|
|
|
displayOp(g, 3, 3, 2, 0, 4); |
|
|
|
displayOp(g, 2, 1, 2, 1, 0); |
|
|
|
displayOp(g, 2, 2, 2, 1, 0); |
|
|
|
displayOp(g, 1, 2, 3, 0, 0); |
|
|
|
displayOp(g, 1, 3, 3, 0, 0); |
|
|
|
break; |
|
|
|
break; |
|
|
|
case 18: |
|
|
|
case 18: |
|
|
|
displayOp(g, 6, 2, 2, 0, 1); |
|
|
|
displayOp(g, 6, 3, 2, 0, 1); |
|
|
|
displayOp(g, 5, 3, 3, 2, 0); |
|
|
|
displayOp(g, 5, 4, 3, 2, 0); |
|
|
|
displayOp(g, 4, 2, 3, 1, 0); |
|
|
|
displayOp(g, 4, 3, 3, 1, 0); |
|
|
|
displayOp(g, 3, 1, 1, 0, 0); |
|
|
|
displayOp(g, 3, 2, 1, 0, 0); |
|
|
|
displayOp(g, 2, 1, 2, 0, 0); |
|
|
|
displayOp(g, 2, 2, 2, 0, 0); |
|
|
|
displayOp(g, 1, 1, 3, 1, 0); |
|
|
|
displayOp(g, 1, 2, 3, 1, 0); |
|
|
|
break; |
|
|
|
break; |
|
|
|
case 19: |
|
|
|
case 19: |
|
|
|
displayOp(g, 6, 4, 2, 0, 0); |
|
|
|
displayOp(g, 6, 4, 2, 0, 0); |
|
|
@ -327,12 +321,12 @@ void AlgoDisplay::paint(Graphics &g) { |
|
|
|
displayOp(g, 1, 1, 3, 1, 0); |
|
|
|
displayOp(g, 1, 1, 3, 1, 0); |
|
|
|
break; |
|
|
|
break; |
|
|
|
case 27: |
|
|
|
case 27: |
|
|
|
displayOp(g, 6, 3, 3, 2, 0); |
|
|
|
displayOp(g, 6, 4, 3, 2, 0); |
|
|
|
displayOp(g, 5, 2, 1, 0, 1); |
|
|
|
displayOp(g, 5, 3, 1, 0, 1); |
|
|
|
displayOp(g, 4, 2, 2, 0, 0); |
|
|
|
displayOp(g, 4, 3, 2, 0, 0); |
|
|
|
displayOp(g, 3, 2, 3, 1, 0); |
|
|
|
displayOp(g, 3, 3, 3, 1, 0); |
|
|
|
displayOp(g, 2, 1, 2, 0, 0); |
|
|
|
displayOp(g, 2, 2, 2, 0, 0); |
|
|
|
displayOp(g, 1, 1, 3, 1, 0); |
|
|
|
displayOp(g, 1, 2, 3, 1, 0); |
|
|
|
break; |
|
|
|
break; |
|
|
|
case 28: |
|
|
|
case 28: |
|
|
|
displayOp(g, 6, 4, 2, 0, 1); |
|
|
|
displayOp(g, 6, 4, 2, 0, 1); |
|
|
|