rnd-20100630-1-src
[rocksndiamonds.git] / src / tape.h
index fe636495df8b07380d58bb0fe4ce6c775ddb3023..af32eb3873131dbbdb6e9d44fb9857b5cbb04f90 100644 (file)
 #define VIDEO_DISPLAY_SYMBOL_ONLY      -2
 
 
+struct TapeButtonInfo
+{
+  struct Rect eject;
+  struct Rect stop;
+  struct Rect pause;
+  struct Rect record;
+  struct Rect play;
+};
+
+struct TapeSymbolInfo
+{
+  struct Rect eject;
+  struct Rect stop;
+  struct Rect pause;
+  struct Rect record;
+  struct Rect play;
+  struct Rect fast_forward;
+  struct Rect warp_forward;
+  struct Rect warp_forward_blind;
+  struct Rect pause_before_end;
+  struct Rect single_step;
+};
+
+struct TapeLabelInfo
+{
+  struct Rect eject;
+  struct Rect stop;
+  struct Rect pause;
+  struct Rect record;
+  struct Rect play;
+  struct Rect fast_forward;
+  struct Rect warp_forward;
+  struct Rect warp_forward_blind;
+  struct Rect pause_before_end;
+  struct Rect single_step;
+  struct Rect date;
+  struct Rect time;
+};
+
+struct TapeTextInfo
+{
+  struct TextPosInfo date;
+  struct TextPosInfo time;
+};
+
 struct TapeInfo
 {
   int file_version;    /* file format version the tape is stored with    */
@@ -128,6 +173,11 @@ struct TapeInfo
     byte delay;
   } pos[MAX_TAPE_LEN];
 
+  struct TapeButtonInfo button;
+  struct TapeSymbolInfo symbol;
+  struct TapeLabelInfo label;
+  struct TapeTextInfo text;
+
   boolean no_valid_file;       /* set when tape file missing or invalid */
 };
 
@@ -138,6 +188,9 @@ void DrawCompleteVideoDisplay(void);
 void TapeDeactivateDisplayOn();
 void TapeDeactivateDisplayOff(boolean);
 
+void TapeSetDateFromEpochSeconds(time_t);
+void TapeSetDateFromNow();
+
 void TapeStartRecording(long);
 void TapeHaltRecording(void);
 void TapeStopRecording(void);
@@ -162,4 +215,6 @@ void MapTapeWarpButton();
 void MapTapeButtons();
 void UnmapTapeButtons();
 
+void HandleTapeButtonKeys(Key);
+
 #endif