Updated CSFML and SFML.Net in the sfml2 branch
git-svn-id: https://sfml.svn.sourceforge.net/svnroot/sfml/branches/sfml2@1233 4e206d99-4929-0410-ac5d-dfc041789085
This commit is contained in:
parent
fc22927874
commit
7f4de9033c
15 changed files with 164 additions and 42 deletions
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -16,6 +16,9 @@ namespace sample_opengl
|
|||
// Create main window
|
||||
RenderWindow window = new RenderWindow(new VideoMode(800, 600), "SFML.Net OpenGL");
|
||||
|
||||
// Activate it as the target for OpenGL calls
|
||||
window.SetActive();
|
||||
|
||||
// Setup event handlers
|
||||
window.Closed += new EventHandler(OnClosed);
|
||||
window.KeyPressed += new EventHandler<KeyEventArgs>(OnKeyPressed);
|
||||
|
@ -72,6 +75,13 @@ namespace sample_opengl
|
|||
// Draw background
|
||||
window.Draw(background);
|
||||
|
||||
// Flush the window, to make sure that our OpenGL cube
|
||||
// will be rendered on top of the background sprite
|
||||
window.Flush();
|
||||
|
||||
// Activate the window for OpenGL calls
|
||||
window.SetActive();
|
||||
|
||||
// Clear depth buffer
|
||||
Gl.glClear(Gl.GL_DEPTH_BUFFER_BIT);
|
||||
|
||||
|
@ -159,6 +169,8 @@ namespace sample_opengl
|
|||
/// </summary>
|
||||
static void OnResized(object sender, SizeEventArgs e)
|
||||
{
|
||||
RenderWindow window = (RenderWindow)sender;
|
||||
window.SetActive();
|
||||
Gl.glViewport(0, 0, (int)e.Width, (int)e.Height);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -15,6 +15,9 @@ namespace sample_window
|
|||
// Create the main window
|
||||
Window window = new Window(new VideoMode(640, 480, 32), "SFML.Net Window");
|
||||
|
||||
// Activate it as the target for OpenGL calls
|
||||
window.SetActive();
|
||||
|
||||
// Setup event handlers
|
||||
window.Closed += new EventHandler(OnClosed);
|
||||
window.KeyPressed += new EventHandler<KeyEventArgs>(OnKeyPressed);
|
||||
|
@ -42,8 +45,6 @@ namespace sample_window
|
|||
window.DispatchEvents();
|
||||
|
||||
// Set the active window before using OpenGL commands
|
||||
// It's useless here because the active window is always the same,
|
||||
// but don't forget it if you use multiple windows
|
||||
window.SetActive();
|
||||
|
||||
// Clear color and depth buffer
|
||||
|
@ -128,6 +129,8 @@ namespace sample_window
|
|||
/// </summary>
|
||||
static void OnResized(object sender, SizeEventArgs e)
|
||||
{
|
||||
Window window = (Window)sender;
|
||||
window.SetActive();
|
||||
Gl.glViewport(0, 0, (int)e.Width, (int)e.Height);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -191,6 +191,26 @@ namespace SFML
|
|||
sfRenderImage_DrawPostFX(This, postFx != null ? postFx.This : IntPtr.Zero);
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////
|
||||
/// <summary>
|
||||
/// Make sure that what has been drawn so far is rendered.
|
||||
///
|
||||
/// Use this function if you use OpenGL rendering commands,
|
||||
/// and you want to make sure that things will appear on top
|
||||
/// of all the SFML objects that have been drawn so far.
|
||||
/// This is needed because SFML doesn't use immediate rendering,
|
||||
/// it first accumulates drawables into a queue and
|
||||
/// trigger the actual rendering afterwards.
|
||||
///
|
||||
/// You don't need to call this function if you're not
|
||||
/// dealing with OpenGL directly.
|
||||
/// </summary>
|
||||
////////////////////////////////////////////////////////////
|
||||
public void Flush()
|
||||
{
|
||||
sfRenderImage_Flush(This);
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////
|
||||
/// <summary>
|
||||
/// Target image of the render image
|
||||
|
@ -257,6 +277,9 @@ namespace SFML
|
|||
[DllImport("csfml-graphics"), SuppressUnmanagedCodeSecurity]
|
||||
static extern bool sfRenderImage_SetActive(IntPtr This, bool Active);
|
||||
|
||||
[DllImport("csfml-graphics"), SuppressUnmanagedCodeSecurity]
|
||||
static extern bool sfRenderImage_Flush(IntPtr This);
|
||||
|
||||
[DllImport("csfml-graphics"), SuppressUnmanagedCodeSecurity]
|
||||
static extern void sfRenderImage_SetView(IntPtr This, IntPtr View);
|
||||
|
||||
|
|
|
@ -59,7 +59,6 @@ namespace SFML
|
|||
/// <param name="x">X coordinate of the point to convert, relative to the target</param>
|
||||
/// <param name="y">Y coordinate of the point to convert, relative to the target</param>
|
||||
/// <returns>Converted point</returns>
|
||||
///
|
||||
////////////////////////////////////////////////////////////
|
||||
Vector2 ConvertCoords(uint x, uint y);
|
||||
|
||||
|
@ -72,7 +71,6 @@ namespace SFML
|
|||
/// <param name="y">Y coordinate of the point to convert, relative to the target</param>
|
||||
/// <param name="view">Target view to convert the point to</param>
|
||||
/// <returns>Converted point</returns>
|
||||
///
|
||||
////////////////////////////////////////////////////////////
|
||||
Vector2 ConvertCoords(uint x, uint y, View view);
|
||||
|
||||
|
@ -106,6 +104,23 @@ namespace SFML
|
|||
/// <param name="postFx">PostFx to apply</param>
|
||||
////////////////////////////////////////////////////////////
|
||||
void Draw(PostFx postFx);
|
||||
|
||||
////////////////////////////////////////////////////////////
|
||||
/// <summary>
|
||||
/// Make sure that what has been drawn so far is rendered.
|
||||
///
|
||||
/// Use this function if you use OpenGL rendering commands,
|
||||
/// and you want to make sure that things will appear on top
|
||||
/// of all the SFML objects that have been drawn so far.
|
||||
/// This is needed because SFML doesn't use immediate rendering,
|
||||
/// it first accumulates drawables into a queue and
|
||||
/// trigger the actual rendering afterwards.
|
||||
///
|
||||
/// You don't need to call this function if you're not
|
||||
/// dealing with OpenGL directly.
|
||||
/// </summary>
|
||||
////////////////////////////////////////////////////////////
|
||||
void Flush();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -382,17 +382,6 @@ namespace SFML
|
|||
sfRenderWindow_Clear(This, color);
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////
|
||||
/// <summary>
|
||||
/// Save the content of the window to an image
|
||||
/// </summary>
|
||||
/// <returns>Image instance containing the contents of the screen</returns>
|
||||
////////////////////////////////////////////////////////////
|
||||
public Image Capture()
|
||||
{
|
||||
return new Image(sfRenderWindow_Capture(This));
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////
|
||||
/// <summary>
|
||||
/// Draw something into the window
|
||||
|
@ -415,6 +404,26 @@ namespace SFML
|
|||
sfRenderWindow_DrawPostFX(This, postFx != null ? postFx.This : IntPtr.Zero);
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////
|
||||
/// <summary>
|
||||
/// Make sure that what has been drawn so far is rendered.
|
||||
///
|
||||
/// Use this function if you use OpenGL rendering commands,
|
||||
/// and you want to make sure that things will appear on top
|
||||
/// of all the SFML objects that have been drawn so far.
|
||||
/// This is needed because SFML doesn't use immediate rendering,
|
||||
/// it first accumulates drawables into a queue and
|
||||
/// trigger the actual rendering afterwards.
|
||||
///
|
||||
/// You don't need to call this function if you're not
|
||||
/// dealing with OpenGL directly.
|
||||
/// </summary>
|
||||
////////////////////////////////////////////////////////////
|
||||
public void Flush()
|
||||
{
|
||||
sfRenderWindow_Flush(This);
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////
|
||||
/// <summary>
|
||||
/// Internal function to get the next event
|
||||
|
@ -524,6 +533,9 @@ namespace SFML
|
|||
[DllImport("csfml-graphics"), SuppressUnmanagedCodeSecurity]
|
||||
static extern bool sfRenderWindow_SetActive(IntPtr This, bool Active);
|
||||
|
||||
[DllImport("csfml-graphics"), SuppressUnmanagedCodeSecurity]
|
||||
static extern bool sfRenderWindow_Flush(IntPtr This);
|
||||
|
||||
[DllImport("csfml-graphics"), SuppressUnmanagedCodeSecurity]
|
||||
static extern void sfRenderWindow_SetFramerateLimit(IntPtr This, uint Limit);
|
||||
|
||||
|
|
|
@ -57,7 +57,7 @@ namespace SFML
|
|||
////////////////////////////////////////////////////////////
|
||||
/// <summary>
|
||||
/// Get the number of valid video modes
|
||||
/// <summary>
|
||||
/// </summary>
|
||||
////////////////////////////////////////////////////////////
|
||||
public static uint ModesCount
|
||||
{
|
||||
|
@ -81,7 +81,7 @@ namespace SFML
|
|||
////////////////////////////////////////////////////////////
|
||||
/// <summary>
|
||||
/// Get the current desktop video mode
|
||||
/// <summary>
|
||||
/// </summary>
|
||||
////////////////////////////////////////////////////////////
|
||||
public static VideoMode DesktopMode
|
||||
{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue