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

Last change on this file since 682 was 682, checked in by Sam Hocevar, 8 years ago

core: rename vec2i to ivec2 and update matrix.h from Lol Engine.

  • 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->Size().x; }
33  int screen_h() { return h * fnt->Size().y; }
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 DrawChar(ivec2 pos, 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.