source: golgotha/src/golg/editor/mode/e_ai.hh @ 80

Last change on this file since 80 was 80, checked in by Sam Hocevar, 11 years ago
  • Adding the Golgotha source code. Not sure what's going to be interesting in there, but since it's all public domain, there's certainly stuff to pick up.
File size: 1.7 KB
Line 
1/********************************************************************** <BR>
2  This file is part of Crack dot Com's free source code release of
3  Golgotha. <a href="http://www.crack.com/golgotha_release"> <BR> for
4  information about compiling & licensing issues visit this URL</a>
5  <PRE> If that doesn't help, contact Jonathan Clark at
6  golgotha_source@usa.net (Subject should have "GOLG" in it)
7***********************************************************************/
8
9#error
10
11#ifndef _E_AI_HH__
12#define _E_AI_HH__
13
14
15#include "editor/mode/e_mode.hh"
16
17class g1_critical_graph_class;
18class g1_ai_mode : public g1_mode_handler
19{
20  w32 sel_color, norm_color;
21  i4_bool no_more_move_undos;
22
23public:
24  g1_critical_graph_class *get_graph();
25  virtual state current_state();
26  virtual void post_draw(i4_draw_context_class &context);
27  g1_ai_mode(g1_controller_edit_class *c);
28
29  void select_objects_in_area(sw32 x1, sw32 y1, sw32 x2, sw32 y2, select_modifier mod);
30  i4_bool select_object(sw32 mx, sw32 my, i4_float &ox, i4_float &oy, i4_float &oz,
31                        select_modifier mod);
32
33  void move_selected(i4_float xc, i4_float yc, i4_float zc,
34                             sw32 mouse_x, sw32 mouse_y);
35
36  void mouse_down();
37  void delete_selected();
38};
39
40
41
42
43class g1_ai_params : public g1_mode_creator
44{
45public:
46  char *name() { return "AI"; }
47
48  enum minor_mode_type
49  {
50    ROTATE,
51    ZOOM,
52    MOVE,
53    SELECT,
54    CREATE,
55    RECALC
56  };
57
58  i4_bool set_minor_mode(w8 m);
59
60  void create_buttons(i4_parent_window_class *containter);
61
62  g1_mode_handler *create_mode_handler(g1_controller_edit_class *c)
63  { return new g1_ai_mode(c); }
64
65} ;
66
67extern g1_ai_params g1_e_ai;
68
69
70
71#endif
Note: See TracBrowser for help on using the repository browser.