Source code for /engineering/REVERSEM/MYPIC.HPPOriginal file MYPIC.HPP
   1 /*--------------------------------------------------------------------------
   2 
   3   REVERSEM :
   4 
   5   UNIT     : MY PICTURE DISPLAY CLASS
   6 
   7   COPYRIGHT (C) 1994 Erich P. Gatejen  ALL RIGHTS RESERVED
   8   This is Freeware.  You may distribute it as you wish.  However, you may not
   9   distribute a modified version without my consent.
  10 
  11   Feel free to cut and paste any algorthm.
  12 
  13   NOTE: XTILE is (C) 1992, 1994 by myself.  It is NOT freeware.  You may use
  14 	it for personal projects, but otherwise, it is not to be distributed
  15 	outside this REVERSEM package.  (Contact me if you wish to do
  16 	otherwise)
  17 
  18 ---------------------------------------------------------------------------*/
  19 
  20 // --- Definitions ---------------------------------------------------------
  21 #define  MAX_LOADED_PICTURES	6  // Each picture is 10000 bytes.
  22 
  23 // --- Define available pictures
  24 // - Note:  The order of the enumeration directly relates to the order
  25 // -        of pictures in the combine file
  26 enum   AVAILABLE_PICTURES {
  27 	NO_PICTURE = -1,
  28 	PIC_HALFSMILE = 0,
  29 	PIC_WHAT,
  30 	PIC_IDEA,
  31 	PIC_CALM,
  32 	PIC_NOEXP,
  33 	PIC_COVERED,
  34 	PIC_WHATUPSET,
  35 	PIC_FROWN,
  36 	PIC_CURIOUSFROWN,
  37 	PIC_ARMSCROSS,
  38 	PIC_THINKING,
  39 	PIC_LOOKRIGHT,
  40 	PIC_VICTORY,
  41 	PIC_LOOKRIGHTC,
  42 	PIC_BYE
  43 
  44 };
  45 
  46 
  47 // --- My picture class -----------------------------------------------
  48 class  MyPicture {
  49 
  50     // Private data
  51     unsigned char	*PicDump;
  52     AVAILABLE_PICTURES   LoadPics[MAX_LOADED_PICTURES];
  53     FILE		*PicFile;
  54 
  55     unsigned int	 UseTick;
  56     unsigned int	 TickOfLastUse[MAX_LOADED_PICTURES];
  57 
  58     // Private functions
  59     void  LoadPicture( AVAILABLE_PICTURES Which, unsigned int FindPic );
  60     void  DisplayPicture( unsigned int  FindPic );
  61     inline void  MyPicture::ClearText( void );
  62 
  63  public:
  64 
  65     // Constructor and destructor
  66     MyPicture( void );
  67    ~MyPicture();
  68 
  69     void   Reset( void );
  70 
  71     void   ShowPicture( AVAILABLE_PICTURES  Which );
  72     void   SayText( char*   Line1,
  73 		    char*   Line2,
  74 		    char*   Line3	);
  75 
  76 };
  77 
  78