Added the trunk/branches/tags directories at repository root, and moved previous root into trunk/

git-svn-id: https://sfml.svn.sourceforge.net/svnroot/sfml/trunk@1002 4e206d99-4929-0410-ac5d-dfc041789085
This commit is contained in:
laurentgom 2009-01-28 16:18:34 +00:00
commit 2f524481c1
974 changed files with 295448 additions and 0 deletions

View file

@ -0,0 +1,69 @@
module view;
import dsfml.system.all;
import dsfml.window.all;
import dsfml.graphics.all;
void main()
{
RenderWindow window = new RenderWindow(VideoMode(800, 600), "View sample");
window.setFramerateLimit(100);
Input input = window.getInput();
Vector2f top;
Rect!(float) bound;
Shape s;
bool mousePressed;
Sprite background = new Sprite(new Image("Data/background.jpg"));
Font f = new Font("Data/cheeseburger.ttf");
String str = new String("Create a selection of the background with your mouse.\nPress Enter to zoom to this selection.\nPress Escape to return to the default view."c, f);
while (window.isOpened())
{
Event evt;
while (window.getEvent(evt))
{
if ( evt.Type == Event.EventType.MOUSEBUTTONPRESSED &&
evt.MouseButton.Button == MouseButtons.LEFT)
{
top = window.convertCoords(input.getMouseX(), input.getMouseY());
mousePressed = true;
}
else if ( evt.Type == Event.EventType.MOUSEBUTTONRELEASED &&
evt.MouseButton.Button == MouseButtons.LEFT)
{
mousePressed = false;
}
else if ( evt.Type == Event.EventType.MOUSEMOVED &&
mousePressed)
{
Vector2f bottom = window.convertCoords(input.getMouseX(), input.getMouseY());
bound = new Rect!(float)(top.x, top.y, bottom.x, bottom.y);
s = Shape.rectangle(top.x, top.y, bottom.x, bottom.y, Color(0, 0, 0, 0), 1, Color.BLACK);
}
else if ( evt.Type == Event.EventType.KEYPRESSED &&
evt.Key.Code == KeyCode.RETURN)
{
if (bound !is null)
window.setView(new View(bound));
s = null;
}
else if ( evt.Type == Event.EventType.KEYPRESSED &&
evt.Key.Code == KeyCode.ESCAPE)
{
window.setView(window.getDefaultView());
}
else if ( evt.Type == Event.EventType.CLOSED)
window.close();
}
window.draw(background);
window.draw(str);
if (s !is null) window.draw(s);
window.display();
}
}