home *** CD-ROM | disk | FTP | other *** search
/ Game.EXE 2002 May / Game.EXE_05_2002.iso / Alawar / Lib / 2D / Hardware2DSoft.h < prev    next >
Encoding:
C/C++ Source or Header  |  2002-04-03  |  1.2 KB  |  45 lines

  1. #ifndef __HARDWARE2DSOFT_H__
  2. #define __HARDWARE2DSOFT_H__
  3.  
  4. #include "Hardware2D.h"
  5. #include <Color.h>
  6. #include <Array2D.h>
  7. #include <win32/windows.h>
  8. #include <Nocopy.h>
  9. class HardwarePicture2DSoft;
  10.  
  11. class Hardware2DSoft : public Hardware2D, private Nocopy
  12. {
  13. public:    
  14.     explicit Hardware2DSoft(HWND wnd);
  15.     virtual ~Hardware2DSoft();
  16.     
  17.     virtual bool set_mode(int sx, int sy);
  18.     virtual int get_height()const;
  19.     virtual int get_width()const;
  20.     virtual void stop_mode();
  21.  
  22.     virtual void fill(int left, int top, int right, int bottom, const Color & color);
  23.     virtual void flip();
  24.  
  25.     virtual HardwarePicture2D * load_picture(const Color * colors, int width, int height, int stride);
  26.  
  27. private:    
  28.     friend class HardwarePicture2DSoft;
  29.     void blit(const HardwarePicture2DSoft & pic, int left, int top, int alpha);
  30.     void add_picture_count(int delta);
  31.     // ╬≥Σσδ   2 private-≡ατΣσδα, ∞√ ∩εΩατ√Γασ∞ ≈Φ≥α≥σδ■ ΩεΣα (φε φσ Ωε∞∩Φδ ≥ε≡≤), 
  32.     // ≈≥ε ∩≡σΣ√Σ≤∙Φσ ∞σ≥εΣ√ ∩≡σΣφατφα≈σφ√ Σδ  Σ≡≤µσ±≥Γσφφεπε Ωδα±±α,
  33.     // ≥επΣα ΩαΩ ±δσΣ≤■∙Φσ  Γδ ■≥±  ≈α±≥ⁿ■ ≡σαδΦτα÷ΦΦ
  34. private:    
  35.     void start_viewport();
  36.     typedef Array2D<Color> Canvas;
  37.  
  38.     HWND wnd;
  39.     Canvas canvas;
  40.     int width;
  41.     int height;
  42.     int picture_count;
  43. };
  44.  
  45. #endif //__HARDWARE2DSOFT_H__