source: abuse/trunk/src/console.h @ 643

Last change on this file since 643 was 643, checked in by Sam Hocevar, 11 years ago

imlib: refactor Event and EventHandler?.

  • Property svn:keywords set to Id
File size: 1.4 KB
Line 
1/*
2 *  Abuse - dark 2D side-scrolling platform game
3 *  Copyright (c) 1995 Crack dot Com
4 *  Copyright (c) 2005-2011 Sam Hocevar <sam@hocevar.net>
5 *
6 *  This software was released into the Public Domain. As with most public
7 *  domain software, no warranty is made or implied by Crack dot Com, by
8 *  Jonathan Clark, or by Sam Hocevar.
9 */
10
11#ifndef __CONSOLE_HPP_
12#define __CONSOLE_HPP_
13#include "jwindow.h"
14
15class console
16{
17  protected :
18  int lastx,lasty,w,h,cx,cy;
19  JCFont *fnt;
20  char *screen;
21  Jwindow *con_win;
22  char *name;
23  public :
24
25  console(JCFont *font, int width, int height, char const *Name);
26  int showing() { return con_win!=NULL; }
27  void show();
28  void hide();
29  void redraw();
30  void put_char(char ch);
31  void do_cr();
32  int screen_w() { return w*fnt->width(); }
33  int screen_h() { return h*fnt->height(); }
34  int wx() { return con_win->x1(); }
35  int wy() { return con_win->y1(); }
36  void draw_cursor();
37  void put_string(char const *st);
38  void draw_char(int x, int y, char ch);
39  void toggle() { if (con_win) hide(); else show(); }
40  void print_f(char const *format, ...);
41  ~console();
42} ;
43
44class shell_term : public console
45{
46  char shcmd[300];
47  public :
48  shell_term(JCFont *font, int width, int height, char const *Name);
49  virtual ~shell_term() { };
50  int handle_event(Event &ev);
51  virtual void prompt();
52  virtual void execute(char const *st);
53} ;
54
55#endif
Note: See TracBrowser for help on using the repository browser.