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 |
|
---|
17 | class g1_critical_graph_class;
|
---|
18 | class g1_ai_mode : public g1_mode_handler
|
---|
19 | {
|
---|
20 | w32 sel_color, norm_color;
|
---|
21 | i4_bool no_more_move_undos;
|
---|
22 |
|
---|
23 | public:
|
---|
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 |
|
---|
43 | class g1_ai_params : public g1_mode_creator
|
---|
44 | {
|
---|
45 | public:
|
---|
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 |
|
---|
67 | extern g1_ai_params g1_e_ai;
|
---|
68 |
|
---|
69 |
|
---|
70 |
|
---|
71 | #endif
|
---|