namespace SL {
Formatter::Formatter():
+ stage(0),
source_index(0),
source_line(1),
indent(0),
parameter_list(false)
{ }
-void Formatter::apply(Stage &s)
+const string &Formatter::apply(Stage &s)
{
+ SetForScope<Stage *> set_stage(stage, &s);
+
GLApi api = get_gl_api();
const Version &ver = s.required_version;
if(!s.required_extensions.empty())
formatted += '\n';
- StageVisitor::apply(s);
+ visit(s.content);
+
+ return formatted;
}
void Formatter::append(const string &text)
string interface = var.interface;
if(stage->required_version<Version(1, 30))
{
- if(stage->type==VERTEX && var.interface=="in")
+ if(stage->type==Stage::VERTEX && var.interface=="in")
interface = "attribute";
- else if((stage->type==VERTEX && var.interface=="out") || (stage->type==FRAGMENT && var.interface=="in"))
+ else if((stage->type==Stage::VERTEX && var.interface=="out") || (stage->type==Stage::FRAGMENT && var.interface=="in"))
interface = "varying";
}
append(format("%s ", interface));