1
2 #include "layout.h"
3
Layouts()4 Layouts::Layouts() :
5 m_current_layout(NULL),m_layouts()
6 {
7 setup_layouts();
8 }
9
~Layouts()10 Layouts::~Layouts()
11 {
12 FOR_EACH_CONST(layouts_t,m_layouts,it)
13 delete it->second;
14 }
15
add_layout(Layout * l,const string & name)16 void Layouts::add_layout(Layout *l,const string &name)
17 {
18 m_layouts[name] = l;
19 m_layout_names.push_back(name);
20 }
21
setup_layouts(void)22 void Layouts::setup_layouts(void)
23 {
24 Layout *l;
25
26 l = new Layout();
27 l->color_sea_top = vec4(0.25f,0.4f,0.55f,1.0f);
28 l->color_sea_middle = vec4(0.25f,0.4f,0.55f,0.5f);
29 l->color_sea_bottom = vec4(0.1f,0.4f,0.3f,0.5f);
30 l->color_sky_top = vec4(0.35f,0.55f,0.75f,1.0);
31 l->color_sky_bottom = vec4(0.35f,0.55f,0.75f,1.0);
32 l->color_fire_start = vec4(1.0,0.784,0.1804,1.0);
33 l->bottom_pass = false;
34 add_layout(l,"Default");
35
36 // l = new Layout();
37 // l->color_sea_top = vec4(0.25f,0.4f,0.55f,1.0f);
38 // l->color_sea_middle = vec4(0.25f,0.4f,0.55f,0.5f);
39 // l->color_sea_bottom = vec4(0.1f,0.4f,0.3f,0.5f);
40 // l->color_sky_top = vec4(119/255.0f,125/255.0f,199/255.0f,0.0);
41 // l->color_sky_bottom = vec4(248/255.0f,83/255.0f,19/255.0f,0.0);
42 // l->color_fire_start = vec4(1.0,0.784,0.1804,1.0);
43 // l->bottom_pass = true;
44 // add_layout(l,"Dawn");
45
46 l = new Layout();
47 l->color_sea_top = vec4(0.25f,0.4f,0.55f,1.0);
48 l->color_sea_middle = vec4(0.25f,0.4f,0.55f,0.5);
49 l->color_sea_bottom = vec4(0.25f,0.4f,0.55f,0.5);
50 l->color_sky_top = vec4(0.35f,0.55f,0.75f,1.0);
51 l->color_sky_bottom = vec4(0.35f,0.55f,0.75f,1.0);
52 l->color_fire_start = vec4(0.0,0.0,0.0,1.0);
53 l->bottom_pass = false;
54 add_layout(l,"Clear");
55
56 l = new Layout();
57 l->color_sea_top = vec4(0.55f,0.55f,0.55f,1.0);
58 l->color_sea_middle = vec4(0.55f,0.55f,0.55f,0.5);
59 l->color_sea_bottom = vec4(0.33f,0.33f,0.33f,0.5);
60 l->color_sky_top = vec4(0.0,0.0,0.0,1.0);
61 l->color_sky_bottom = vec4(1.0,1.0,1.0,1.0);
62 l->color_fire_start = vec4(1.0,1.0,1.0,1.0);
63 l->bottom_pass = true;
64 add_layout(l,"B&W");
65
66 // default
67 set_layout("Default");
68 }
69
set_layout(const string & name)70 void Layouts::set_layout(const string &name)
71 {
72 m_current_layout = m_layouts[name];
73 }
74
cur(void)75 Layout *Layouts::cur(void)
76 {
77 return m_current_layout;
78 }
79
get_names(void)80 str_ary_t Layouts::get_names(void)
81 {
82 return m_layout_names;
83 }
84