home *** CD-ROM | disk | FTP | other *** search
- #ifndef __HARDWARE2DSOFT_H__
- #define __HARDWARE2DSOFT_H__
-
- #include "Hardware2D.h"
- #include <Color.h>
- #include <Array2D.h>
- #include <win32/windows.h>
- #include <Nocopy.h>
- class HardwarePicture2DSoft;
-
- class Hardware2DSoft : public Hardware2D, private Nocopy
- {
- public:
- explicit Hardware2DSoft(HWND wnd);
- virtual ~Hardware2DSoft();
-
- virtual bool set_mode(int sx, int sy);
- virtual int get_height()const;
- virtual int get_width()const;
- virtual void stop_mode();
-
- virtual void fill(int left, int top, int right, int bottom, const Color & color);
- virtual void flip();
-
- virtual HardwarePicture2D * load_picture(const Color * colors, int width, int height, int stride);
-
- private:
- friend class HardwarePicture2DSoft;
- void blit(const HardwarePicture2DSoft & pic, int left, int top, int alpha);
- void add_picture_count(int delta);
- // ╬≥Σσδ 2 private-≡ατΣσδα, ∞√ ∩εΩατ√Γασ∞ ≈Φ≥α≥σδ■ ΩεΣα (φε φσ Ωε∞∩Φδ ≥ε≡≤),
- // ≈≥ε ∩≡σΣ√Σ≤∙Φσ ∞σ≥εΣ√ ∩≡σΣφατφα≈σφ√ Σδ Σ≡≤µσ±≥Γσφφεπε Ωδα±±α,
- // ≥επΣα ΩαΩ ±δσΣ≤■∙Φσ Γδ ■≥± ≈α±≥ⁿ■ ≡σαδΦτα÷ΦΦ
- private:
- void start_viewport();
- typedef Array2D<Color> Canvas;
-
- HWND wnd;
- Canvas canvas;
- int width;
- int height;
- int picture_count;
- };
-
- #endif //__HARDWARE2DSOFT_H__