1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87
|
#ifndef _rfield_h
#define _rfield_h
#include "bitmap.h"
#include <string>
using namespace std;
class Font;
class RMenu;
class RField{
public:
RField( bool selectable, bool perm, int return_val, RMenu * who, int number, int sound );
//selectable
virtual bool Ok();
virtual bool Title();
//return value
virtual int Val();
//returns place in list
virtual int Place();
virtual void set( void * object );
//add RField to list
virtual void Add( RField * rf );
//sets the next menu when chosen
virtual void setMenu( RMenu * nx );
virtual int Size();
//called when field is selected from menu
virtual void Selected();
virtual void Draw( const Bitmap & work, int x, int y, int col );
//returns true if container = obj
virtual bool equiv( void * obj );
virtual RField * Next();
virtual RField * Prev();
virtual RMenu * NextMenu();
virtual ~RField();
protected:
bool select;
int ret;
int num;
bool title;
RField * next, * prev;
RMenu * menu_next;
int sound;
};
class RField_Name: public RField {
public:
RField_Name( Font * f_font, string name, bool selectable, bool perm, int return_val, RMenu * who, int number, int sound );
virtual bool equiv( void * obj );
virtual void Draw( const Bitmap & work, int x, int y, int col );
virtual int Size();
virtual void set( void * object );
virtual ~RField_Name();
protected:
string handle;
Font * field_font;
};
class RField_Bitmap: public RField {
public:
RField_Bitmap( const Bitmap & look, bool selectable, bool perm, int return_val, RMenu * who, int number, int sound );
virtual bool equiv( void * obj );
virtual void Draw( const Bitmap & work, int x, int y, int col );
virtual int Size();
virtual ~RField_Bitmap();
protected:
Bitmap scene;
};
#endif
|