-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathsequence.cpp
More file actions
41 lines (36 loc) · 1.08 KB
/
sequence.cpp
File metadata and controls
41 lines (36 loc) · 1.08 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#include "convertor.h"
#include "sequence.h"
const int LOWER = 0;
const int UPPER = 1;
const int FULL = 2;
const int EMPTY = 3;
std::list<int> str={UPPER};
bool Sequence::EqvColor(Color first, Color second) {
if(first.r == second.r && first.g == second.g && first.b == second.b)
return true;
else
return false;
}
bool Sequence::fits(Color a, Color b) {
if((EqvColor(fore,a)&&EqvColor(back,b))||(EqvColor(fore,b)&&EqvColor(back,a)))
return true;
else
return false;
}
Sequence::Sequence(Color Fore, Color Back,int x,int y){
fore = Fore;
back = Back;
}
bool Sequence::add(Color upper,Color lower) {
if(fits(upper,lower)){
if(EqvColor(upper,fore) && EqvColor(lower,fore))
str.push_back(FULL);
else if(EqvColor(upper,fore) && EqvColor(lower,back))
str.push_back(UPPER);
else if(EqvColor(upper,back) && EqvColor(lower,fore))
str.push_back(LOWER);
else if(EqvColor(upper,back) && EqvColor(lower,back))
str.push_back(EMPTY);
return true;
} else return false;
}