aboutsummaryrefslogtreecommitdiff
path: root/engines/agi/picture.h
diff options
context:
space:
mode:
authorPaweł Kołodziejski2006-12-06 19:27:02 +0000
committerPaweł Kołodziejski2006-12-06 19:27:02 +0000
commit1d3ca2e40908ababd16fe8b1c9070198f9b75c82 (patch)
tree3c38e45040b1bbd97694b6eaf0ea4dec6f460753 /engines/agi/picture.h
parent1a85adfa833e78d4460e89ff5db1c6bc8688b048 (diff)
downloadscummvm-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.h49
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