Skip to content
Snippets Groups Projects
Commit 0ad583f3 authored by Roberto Raggi's avatar Roberto Raggi
Browse files

Detect the type of the shader.

parent 1bf87c67
No related branches found
No related tags found
No related merge requests found
<?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 &);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment