pl.tph.javatacka.graphics
Class ScreenManager

java.lang.Object
  extended by pl.tph.javatacka.graphics.ScreenManager

public class ScreenManager
extends java.lang.Object

Klasa ScreenManager służy do inicjalizacji i zarządzania oknem pracującym w trybie pełnoekranowym. Wyświetlanie obrazu w oknie implementuje mechanizm podwójnego buforowania, który zapewnia stabilne wyświetlanie wszelkiej grafiki.

Author:
Tomasz Pieczerak (tph)

Field Summary
private  java.awt.image.BufferedImage buffer
           
private  java.awt.GraphicsDevice device
          Obiekt reprezentujący urządzenie graficznie związane z lokalnym środowiskiem graficznym.
 
Constructor Summary
ScreenManager()
          Tworzy nowy obiekt zarządcy pełnoekranowego okna.
 
Method Summary
 javax.swing.JFrame getFullScreenWindow()
          Zwraca referencję na aktualnie działające okno pełnoekranowe.
 java.awt.Graphics2D getGraphics()
          Zwraca obiekt Graphics2D dla uruchomionego okna pełnoekranowego.
 int getHeight()
          Ta metoda zwraca wysokość okna działającego obecnie w trybie pełnoekranowym albo wartość 0, gdy takie okno nie istnieje.
 int getWidth()
          Ta metoda zwraca szerokość okna działającego obecnie w trybie pełnoekranowym albo wartość 0, gdy takie okno nie istnieje.
 void restoreScreen()
          Usuwa obecnie działające okno i opuszcza tryb pełnoekranowy.
 void setFullScreen(java.lang.String title)
          Przechodzi w tryb pełnoekranowy.
 void update()
          Po zakończeniu rysowania w oknie za pomocą związanego z nim obiektu Graphics2D należy uaktualnić wyświetlany obraz.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

device

private java.awt.GraphicsDevice device
Obiekt reprezentujący urządzenie graficznie związane z lokalnym środowiskiem graficznym.


buffer

private java.awt.image.BufferedImage buffer
Constructor Detail

ScreenManager

public ScreenManager()
Tworzy nowy obiekt zarządcy pełnoekranowego okna.

Method Detail

setFullScreen

public void setFullScreen(java.lang.String title)
Przechodzi w tryb pełnoekranowy. Ta metoda tworzy nowe okno o podanym tytule i ustawia je jako pełnoekranowe. Nie jest natomiast zmieniany aktualny tryb graficzny (rozdzielczość, głębia kolorów oraz częstotliwość odświeżania ekranu). Podwójne buforowanie zrealizowane jest przez proste i przenośnie przełączanie stron (page-flipping).

Parameters:
title - tytuł pełnoekranowego okna

getGraphics

public java.awt.Graphics2D getGraphics()
Zwraca obiekt Graphics2D dla uruchomionego okna pełnoekranowego.


update

public void update()
Po zakończeniu rysowania w oknie za pomocą związanego z nim obiektu Graphics2D należy uaktualnić wyświetlany obraz. To właśnie robi ta metoda.


getFullScreenWindow

public javax.swing.JFrame getFullScreenWindow()
Zwraca referencję na aktualnie działające okno pełnoekranowe. Jeśli w danym momencie okno nie działa w trybie pełnoekranowym zostanie zwrócony null.


getWidth

public int getWidth()
Ta metoda zwraca szerokość okna działającego obecnie w trybie pełnoekranowym albo wartość 0, gdy takie okno nie istnieje.


getHeight

public int getHeight()
Ta metoda zwraca wysokość okna działającego obecnie w trybie pełnoekranowym albo wartość 0, gdy takie okno nie istnieje.


restoreScreen

public void restoreScreen()
Usuwa obecnie działające okno i opuszcza tryb pełnoekranowy.