00001
00002
00003
00004 #ifndef Screen_Header
00005 #define Screen_Header
00006
00007 #include "object.h"
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 class Screen: public Object {
00018 public:
00019 Screen();
00020 ~Screen();
00021 static int debug;
00022 static const char* rcsid;
00023
00024 void TVscreen(Point3D corner1, Point3D corner2,
00025 Point3D corner3, Point3D corner4);
00026 void ScreenTranslate(wall_pos dir);
00027 void ScreenRotate(wall_pos dir);
00028 void ScreenStretch(wall_pos dir);
00029 void InitTexture(int large, int haut, int depth = 3);
00030 void newTexture(unsigned char* base);
00031 int IsVideoOn();
00032 void SwitchOnVideo();
00033 void SwitchOffVideo();
00034 int IsViewOn();
00035 void SwitchOnView();
00036 void SwitchOffView();
00037 int IsDictationOn();
00038 void SwitchOnDictation();
00039 void SwitchOffDictation();
00040 int IsScanOn();
00041 void SwitchOnScan();
00042 void SwitchOffScan();
00043 void Draw();
00044 void DrawGeometry();
00045 int SwitchSource();
00046 void MakeTexture(int large, int haut);
00047 void ShowDictation(char* buffer);
00048
00049 void Init(ObjectArray* objectarray_in, char* name);
00050 void setGrayTexture(unsigned* my_texture);
00051
00052 void ScanInit(int numscan, int scangrp = 0);
00053 void ScanRefresh();
00054 void ScanFaster();
00055 void ScanSlower();
00056 void ScanGoBack();
00057 void ScanStop();
00058 void ScanReverse();
00059 int getScanIndex();
00060 void showMarker(wall_pos dir = UP);
00061 void setGroup(int grp) { group_number = grp; }
00062 void setScanBox(Point3D pm, Point3D pM) { min = pm; max = pM; }
00063
00064 private:
00065
00066 int scan_stopped;
00067 float scan_speed;
00068 int scan_count;
00069 int scan_index;
00070 int scan_dir;
00071 int scan_group;
00072
00073 int Source;
00074 int Video;
00075 int View;
00076 int Dict;
00077 int Scan;
00078 Point3D Dictation;
00079 Point3D min, max;
00080
00081 };
00082
00083 #endif