1167c5898Swdenk /* 2167c5898Swdenk ** MPC823 Video Controller 3167c5898Swdenk ** ======================= 4167c5898Swdenk ** (C) 2000 by Paolo Scaffardi (arsenio@tin.it) 5167c5898Swdenk ** AIRVENT SAM s.p.a - RIMINI(ITALY) 6167c5898Swdenk ** 7167c5898Swdenk */ 8167c5898Swdenk 9167c5898Swdenk #ifndef _VIDEO_H_ 10167c5898Swdenk #define _VIDEO_H_ 11167c5898Swdenk 12167c5898Swdenk /* Video functions */ 13167c5898Swdenk 14167c5898Swdenk int video_init (void *videobase); 15167c5898Swdenk void video_putc (const char c); 16167c5898Swdenk void video_puts (const char *s); 17167c5898Swdenk 18*f674f7cfSStefan Reinauer /** 19*f674f7cfSStefan Reinauer * Display a BMP format bitmap on the screen 20*f674f7cfSStefan Reinauer * 21*f674f7cfSStefan Reinauer * @param bmp_image Address of BMP image 22*f674f7cfSStefan Reinauer * @param x X position to draw image 23*f674f7cfSStefan Reinauer * @param y Y position to draw image 24*f674f7cfSStefan Reinauer */ 25*f674f7cfSStefan Reinauer int video_display_bitmap(ulong bmp_image, int x, int y); 26*f674f7cfSStefan Reinauer 27*f674f7cfSStefan Reinauer /** 28*f674f7cfSStefan Reinauer * Get the width of the screen in pixels 29*f674f7cfSStefan Reinauer * 30*f674f7cfSStefan Reinauer * @return width of screen in pixels 31*f674f7cfSStefan Reinauer */ 32*f674f7cfSStefan Reinauer int video_get_pixel_width(void); 33*f674f7cfSStefan Reinauer 34*f674f7cfSStefan Reinauer /** 35*f674f7cfSStefan Reinauer * Get the height of the screen in pixels 36*f674f7cfSStefan Reinauer * 37*f674f7cfSStefan Reinauer * @return height of screen in pixels 38*f674f7cfSStefan Reinauer */ 39*f674f7cfSStefan Reinauer int video_get_pixel_height(void); 40*f674f7cfSStefan Reinauer 41*f674f7cfSStefan Reinauer /** 42*f674f7cfSStefan Reinauer * Get the number of text lines/rows on the screen 43*f674f7cfSStefan Reinauer * 44*f674f7cfSStefan Reinauer * @return number of rows 45*f674f7cfSStefan Reinauer */ 46*f674f7cfSStefan Reinauer int video_get_screen_rows(void); 47*f674f7cfSStefan Reinauer 48*f674f7cfSStefan Reinauer /** 49*f674f7cfSStefan Reinauer * Get the number of text columns on the screen 50*f674f7cfSStefan Reinauer * 51*f674f7cfSStefan Reinauer * @return number of columns 52*f674f7cfSStefan Reinauer */ 53*f674f7cfSStefan Reinauer int video_get_screen_columns(void); 54*f674f7cfSStefan Reinauer 55*f674f7cfSStefan Reinauer /** 56*f674f7cfSStefan Reinauer * Set the position of the text cursor 57*f674f7cfSStefan Reinauer * 58*f674f7cfSStefan Reinauer * @param col Column to place cursor (0 = left side) 59*f674f7cfSStefan Reinauer * @param row Row to place cursor (0 = top line) 60*f674f7cfSStefan Reinauer */ 61*f674f7cfSStefan Reinauer void video_position_cursor(unsigned col, unsigned row); 62*f674f7cfSStefan Reinauer 63*f674f7cfSStefan Reinauer /* Clear the display */ 64*f674f7cfSStefan Reinauer void video_clear(void); 65*f674f7cfSStefan Reinauer 66167c5898Swdenk #endif 67