Commit 0ad583f3 authored by Roberto Raggi's avatar Roberto Raggi

Detect the type of the shader.

parent 1bf87c67
<?xml version="1.0"?> <?xml version="1.0"?>
<mime-info xmlns='http://www.freedesktop.org/standards/shared-mime-info'> <mime-info xmlns='http://www.freedesktop.org/standards/shared-mime-info'>
<mime-type type="application/x-glsl"> <mime-type type="application/x-glsl">
<alias type="text/x-glsl"/> <alias type="text/x-glsl"/>
<sub-class-of type="text/plain"/> <sub-class-of type="text/plain"/>
<comment>GLSL file</comment> <comment>GLSL Shader file</comment>
<glob pattern="*.glsl"/> <glob pattern="*.glsl"/>
<glob pattern="*.shader"/> <glob pattern="*.shader"/>
</mime-type>
<mime-type type="text/x-glsl-frag">
<sub-class-of type="text/x-glsl"/>
<comment>GLSL Fragment Shader file</comment>
<glob pattern="*.frag"/> <glob pattern="*.frag"/>
<glob pattern="*.vert"/>
<glob pattern="*.fsh"/> <glob pattern="*.fsh"/>
</mime-type>
<mime-type type="text/x-glsl-vert">
<sub-class-of type="text/x-glsl"/>
<comment>GLSL Fragment Shader file</comment>
<glob pattern="*.vert"/>
<glob pattern="*.vsh"/> <glob pattern="*.vsh"/>
</mime-type> </mime-type>
</mime-info> </mime-info>
...@@ -276,8 +276,10 @@ void GLSLTextEditor::updateDocumentNow() ...@@ -276,8 +276,10 @@ void GLSLTextEditor::updateDocumentNow()
Semantic sem; Semantic sem;
Scope *globalScope = engine.newNamespace(); Scope *globalScope = engine.newNamespace();
sem.translationUnit(plugin->shaderInit()->ast, globalScope, plugin->shaderInit()->engine); sem.translationUnit(plugin->shaderInit()->ast, globalScope, plugin->shaderInit()->engine);
sem.translationUnit(plugin->vertexShaderInit()->ast, globalScope, plugin->vertexShaderInit()->engine); if (isVertexShader())
sem.translationUnit(plugin->fragmentShaderInit()->ast, globalScope, plugin->fragmentShaderInit()->engine); sem.translationUnit(plugin->vertexShaderInit()->ast, globalScope, plugin->vertexShaderInit()->engine);
if (isFragmentShader())
sem.translationUnit(plugin->fragmentShaderInit()->ast, globalScope, plugin->fragmentShaderInit()->engine);
sem.translationUnit(ast, globalScope, &engine); sem.translationUnit(ast, globalScope, &engine);
QTextCharFormat errorFormat; QTextCharFormat errorFormat;
...@@ -314,3 +316,13 @@ void GLSLTextEditor::updateDocumentNow() ...@@ -314,3 +316,13 @@ void GLSLTextEditor::updateDocumentNow()
// refresh the identifiers. // refresh the identifiers.
m_identifiers = engine.identifiers(); m_identifiers = engine.identifiers();
} }
bool GLSLTextEditor::isVertexShader() const
{
return mimeType() == QLatin1String("text/x-glsl-vert");
}
bool GLSLTextEditor::isFragmentShader() const
{
return mimeType() == QLatin1String("text/x-glsl-frag");
}
...@@ -65,6 +65,9 @@ public: ...@@ -65,6 +65,9 @@ public:
QSet<QString> identifiers() const; QSet<QString> identifiers() const;
bool isVertexShader() const;
bool isFragmentShader() const;
public slots: public slots:
virtual void setFontSettings(const TextEditor::FontSettings &); virtual void setFontSettings(const TextEditor::FontSettings &);
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment