diff options
author | Paweł Kołodziejski | 2006-12-06 19:27:02 +0000 |
---|---|---|
committer | Paweł Kołodziejski | 2006-12-06 19:27:02 +0000 |
commit | 1d3ca2e40908ababd16fe8b1c9070198f9b75c82 (patch) | |
tree | 3c38e45040b1bbd97694b6eaf0ea4dec6f460753 /engines/agi/picture.h | |
parent | 1a85adfa833e78d4460e89ff5db1c6bc8688b048 (diff) | |
download | scummvm-rg350-1d3ca2e40908ababd16fe8b1c9070198f9b75c82.tar.gz scummvm-rg350-1d3ca2e40908ababd16fe8b1c9070198f9b75c82.tar.bz2 scummvm-rg350-1d3ca2e40908ababd16fe8b1c9070198f9b75c82.zip |
first phase of objectisation of agi engine
svn-id: r24808
Diffstat (limited to 'engines/agi/picture.h')
-rw-r--r-- | engines/agi/picture.h | 49 |
1 files changed, 45 insertions, 4 deletions
diff --git a/engines/agi/picture.h b/engines/agi/picture.h index 6700f436b3..97e331a1a5 100644 --- a/engines/agi/picture.h +++ b/engines/agi/picture.h @@ -37,10 +37,51 @@ struct agi_picture { uint8 *rdata; /**< raw vector image data */ }; -int decode_picture(int, int); -int unload_picture(int); -void show_pic(void); -uint8 *convert_v3_pic(uint8 *src, uint32 len); +class AgiEngine; +class GfxMgr; + +class PictureMgr { + AgiEngine *_vm; + GfxMgr *_gfx; + +private: + + void draw_line(int x1, int y1, int x2, int y2, int res); + void put_virt_pixel(int x, int y, int res); + void dynamic_draw_line(int res); + void absolute_draw_line(int res); + INLINE int is_ok_fill_here(int x, int y); + void fill_scanline(int x, int y); + void agi_fill(unsigned int x, unsigned int y); + void x_corner(int res); + void y_corner(int res); + void fill(); + int plot_pattern_point(int x, int y, int bitpos, int res); + void plot_pattern(int x, int y, int res); + void plot_brush(int res); + void fix_pixel_left(int x, int y); + void fix_pixel_bothsides(int x, int y); + void fix_pixel_right(int x, int y); + void fix_pixel_here(int x, int y); + void hires_fill_scanline(int x, int y); + void _hires_fill(unsigned int x, unsigned int y); + void hires_fill(); + INLINE int hires_fill_here(int x, int y); + void show_hires_pic(); + void fix_hires_picture(); + void draw_picture(); + +public: + PictureMgr(AgiEngine *agi, GfxMgr *gfx) { + _vm = agi; + _gfx = gfx; + } + + int decode_picture(int, int); + int unload_picture(int); + void show_pic(); + uint8 *convert_v3_pic(uint8 *src, uint32 len); +}; } // End of namespace Agi |