FS#25 - Change sf::PostFx to a more general purpose pixel shader class (sf::Shader)

Updated the PostFx sample, renamed to Shader
Renamed all the static X::CanUseX() functions to X::IsAvailable() to make the API more consistent
Moved .def files from /build/VC200X to /src in CSFML
Minors fixes in CSFML

git-svn-id: https://sfml.svn.sourceforge.net/svnroot/sfml/branches/sfml2@1258 4e206d99-4929-0410-ac5d-dfc041789085
This commit is contained in:
LaurentGom 2009-11-03 09:04:40 +00:00
parent 63e07cec84
commit d7bd00afc0
125 changed files with 1606 additions and 2348 deletions

View file

@ -261,10 +261,14 @@ namespace SFML
/// Render the object into the given render window
/// </summary>
/// <param name="target">Target render window</param>
/// <param name="shader">Shader to apply</param>
////////////////////////////////////////////////////////////
internal override void Render(RenderWindow target)
internal override void Render(RenderWindow target, Shader shader)
{
sfRenderWindow_DrawString(target.This, This);
if (shader == null)
sfRenderWindow_DrawString(target.This, This);
else
sfRenderWindow_DrawStringWithShader(target.This, This, shader.This);
}
////////////////////////////////////////////////////////////
@ -272,10 +276,14 @@ namespace SFML
/// Render the object into the given render image
/// </summary>
/// <param name="target">Target render image</param>
/// <param name="shader">Shader to apply</param>
////////////////////////////////////////////////////////////
internal override void Render(RenderImage target)
internal override void Render(RenderImage target, Shader shader)
{
sfRenderImage_DrawString(target.This, This);
if (shader == null)
sfRenderImage_DrawString(target.This, This);
else
sfRenderImage_DrawStringWithShader(target.This, This, shader.This);
}
////////////////////////////////////////////////////////////
@ -352,9 +360,15 @@ namespace SFML
[DllImport("csfml-graphics"), SuppressUnmanagedCodeSecurity]
static extern void sfRenderWindow_DrawString(IntPtr This, IntPtr String);
[DllImport("csfml-graphics"), SuppressUnmanagedCodeSecurity]
static extern void sfRenderWindow_DrawStringWithShader(IntPtr This, IntPtr String, IntPtr Shader);
[DllImport("csfml-graphics"), SuppressUnmanagedCodeSecurity]
static extern void sfRenderImage_DrawString(IntPtr This, IntPtr String);
[DllImport("csfml-graphics"), SuppressUnmanagedCodeSecurity]
static extern void sfRenderImage_DrawStringWithShader(IntPtr This, IntPtr String, IntPtr Shader);
[DllImport("csfml-graphics"), SuppressUnmanagedCodeSecurity]
static extern float sfString_GetWidth(IntPtr This);