using System; using System.Runtime.InteropServices; using System.Security; using SFML.Window; namespace SFML { namespace Graphics { //////////////////////////////////////////////////////////// /// /// Abstract base class for render targets (renderwindow, renderimage) /// //////////////////////////////////////////////////////////// public interface RenderTarget { //////////////////////////////////////////////////////////// /// /// Width of the rendering region of the window /// //////////////////////////////////////////////////////////// uint Width {get;} //////////////////////////////////////////////////////////// /// /// Height of the rendering region of the window /// //////////////////////////////////////////////////////////// uint Height {get;} //////////////////////////////////////////////////////////// /// /// Default view of the window /// //////////////////////////////////////////////////////////// View DefaultView {get;} //////////////////////////////////////////////////////////// /// /// Current view active in the window /// //////////////////////////////////////////////////////////// View CurrentView {get;} //////////////////////////////////////////////////////////// /// /// Get the viewport of a view applied to this target /// /// Target view /// Viewport rectangle, expressed in pixels in the current target //////////////////////////////////////////////////////////// IntRect GetViewport(View view); //////////////////////////////////////////////////////////// /// /// Convert a point in target coordinates into view coordinates /// This version uses the current view of the window /// /// X coordinate of the point to convert, relative to the target /// Y coordinate of the point to convert, relative to the target /// Converted point //////////////////////////////////////////////////////////// Vector2 ConvertCoords(uint x, uint y); //////////////////////////////////////////////////////////// /// /// Convert a point in target coordinates into view coordinates /// This version uses the given view /// /// X coordinate of the point to convert, relative to the target /// Y coordinate of the point to convert, relative to the target /// Target view to convert the point to /// Converted point //////////////////////////////////////////////////////////// Vector2 ConvertCoords(uint x, uint y, View view); //////////////////////////////////////////////////////////// /// /// Clear the entire window with black color /// //////////////////////////////////////////////////////////// void Clear(); //////////////////////////////////////////////////////////// /// /// Clear the entire window with a single color /// /// Color to use to clear the window //////////////////////////////////////////////////////////// void Clear(Color color); //////////////////////////////////////////////////////////// /// /// Draw something into the window /// /// Object to draw //////////////////////////////////////////////////////////// void Draw(Drawable objectToDraw); //////////////////////////////////////////////////////////// /// /// Draw something into the render image with a shader /// /// Object to draw /// Shader to apply //////////////////////////////////////////////////////////// void Draw(Drawable objectToDraw, Shader shader); //////////////////////////////////////////////////////////// /// /// Save the current OpenGL render states and matrices /// //////////////////////////////////////////////////////////// void SaveGLStates(); //////////////////////////////////////////////////////////// /// /// Restore the previously saved OpenGL render states and matrices /// //////////////////////////////////////////////////////////// void RestoreGLStates(); } } }