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 | #ifndef I4_SEPERATOR_HH
|
---|
10 | #define I4_SEPERATOR_HH
|
---|
11 |
|
---|
12 | #include "menu/menuitem.hh"
|
---|
13 |
|
---|
14 | class i4_seperator_line_class : public i4_menu_item_class
|
---|
15 | {
|
---|
16 | w16 lr,ud;
|
---|
17 | i4_graphical_style_class *style;
|
---|
18 | i4_color bg;
|
---|
19 | public:
|
---|
20 | i4_seperator_line_class(i4_graphical_style_class *style,
|
---|
21 | i4_color background,
|
---|
22 | w16 left_right_space,
|
---|
23 | w16 up_down_space)
|
---|
24 | : i4_menu_item_class(0,0, 0,0),
|
---|
25 | style(style),
|
---|
26 | lr(left_right_space),
|
---|
27 | ud(up_down_space),
|
---|
28 | bg(background)
|
---|
29 | {
|
---|
30 | w32 l,r,t,b;
|
---|
31 | style->get_in_deco_size(l,t,r,b);
|
---|
32 | resize(lr*2, t+b+ud*2);
|
---|
33 | }
|
---|
34 |
|
---|
35 | void reparent(i4_image_class *draw_area, i4_parent_window_class *parent)
|
---|
36 | {
|
---|
37 | i4_menu_item_class::reparent(draw_area, parent);
|
---|
38 | if (parent && draw_area)
|
---|
39 | {
|
---|
40 | w32 l,r,t,b;
|
---|
41 | style->get_in_deco_size(l,t,r,b);
|
---|
42 | resize(parent->width()-lr*2, t+b+ud*2);
|
---|
43 | }
|
---|
44 |
|
---|
45 | }
|
---|
46 |
|
---|
47 | void draw(i4_draw_context_class &context)
|
---|
48 | {
|
---|
49 | style->deco_neutral_fill(local_image, 0,0, width()-1, height()-1, context);
|
---|
50 | style->draw_in_deco(local_image, 0, ud, width()-1, height()-1-ud,
|
---|
51 | i4_F, context);
|
---|
52 | }
|
---|
53 |
|
---|
54 | i4_menu_item_class *copy() { return new i4_seperator_line_class(style, bg, lr, ud); }
|
---|
55 |
|
---|
56 | char *name() { return "seperator_line"; }
|
---|
57 | };
|
---|
58 |
|
---|
59 |
|
---|
60 | #endif
|
---|