blob: 9cb00a18cf71f521f90866c199da28cef9bb6911 (
plain) (
tree)
|
|
Index: src/menu/UDisplay.pas
===================================================================
--- src/menu/UDisplay.pas (revision 1702)
+++ src/menu/UDisplay.pas (working copy)
@@ -42,8 +42,65 @@
SysUtils;
type
+ { this is a effect for screen fade that in fact does nothing
+ and should be used as parent for new fade effect.
+ It will also be used if fading is disabled }
+ TFadeEffect = class
+ private
+
+ public
+ constructor Create;
+
+ { this procedure is called when a screen change starts }
+ procedure StartFade;
+
+ { this function is called during a screen change, before screen
+ is drawn. screenchange is finished if this function returns
+ true. DoFadePostDraw will be called in every case after this
+ function was called, but fading will be finished regardless
+ what is returned DoFadePostDraw.}
+ function DoFadePreDraw: Boolean;
+
+ { this function is called during a screen change, after screen
+ was drawn. screenchange is finished if this function returns
+ true. }
+ function DoFadePostDraw: Boolean;
+
+
+
+ destructor Destroy;
+ end;
+
+ { class representing a kind of screen that is drawn over
+ one or more other screens. it has focus before the
+ screens that it is overlaying }
+ TOverlay = class(TMenu);
+
TDisplay = class
private
+ FadeInProgress: Boolean;
+ CurrentMenu: TMenu;
+
+ FadeEffect: TFadeEffect;
+ public
+ constructor Create(Caption: String);
+
+ { changes displayed screen, starts fading }
+ procedure ChangeMenu(NewScreen: TMenu);
+ property Menu: TMenu read CurrentMenu write ChangeMenu;
+
+
+
+
+
+ { calls draw procedures of Screen and overlays, it
+ returns false if application should be closed }
+ function Draw: Boolean;
+
+ destructor Destroy;
+
+ {TDisplay = class
+ private
//fade-to-black-hack
BlackScreen: boolean;
@@ -53,7 +110,7 @@
LastFadeTime: cardinal; // last fade update time
FadeTex: array[1..2] of GLuint;
-
+
FPSCounter: cardinal;
LastFPS: cardinal;
NextFPSSwap: cardinal;
@@ -78,7 +135,7 @@
procedure SaveScreenShot;
function Draw: boolean;
- end;
+ end; }
var
Display: TDisplay;
|