File: rfield.cpp

package info (click to toggle)
rafkill 1.2.2-3.3
  • links: PTS
  • area: main
  • in suites: wheezy
  • size: 13,268 kB
  • sloc: cpp: 13,508; makefile: 64; sh: 14
file content (137 lines) | stat: -rw-r--r-- 2,262 bytes parent folder | download | duplicates (12)
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
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
#include "rfield.h"
#include "rmenu.h"
#include "defs.h"
#include "font.h"
#include <string.h>
#include "bitmap.h"

RField::RField( bool selectable, bool perm, int return_val, RMenu * who, int number, int sound_ ):
select( selectable ),
ret( return_val ),
num( number ),
title( perm ),
next( NULL ),
prev( NULL ),
menu_next( who ),
sound( sound_ ){
}


void RField::Add( RField * rf ) {
	next = rf;
	if ( rf != NULL )
		rf->prev = this;
}


void RField::setMenu( RMenu * nx ) {
	menu_next = nx;
}


bool RField::Ok() {
	return select;
}

bool RField::Title() {
	return title;
}

void RField::Selected() {

	if ( sound != -1 ){
		Util::playSound( sound, 255 );
	}

}

int RField::Size() {
	return 0;
}


void RField::Draw( const Bitmap & work, int x, int y, int col ) {
}

bool RField::equiv( void * obj ) {
	return false;
}

int RField::Val() {
	return ret;
}

void RField::set( void * object ){
}

RField * RField::Next() {
	return next;
}


RField * RField::Prev() {
	return prev;
}


int RField::Place() {
	return num;
}


RMenu * RField::NextMenu() {
	return menu_next;
}


RField::~RField() {
}

//**//
RField_Name::RField_Name( Font * f_font, string name, bool selectable, bool perm, int return_val, RMenu * who, int number, int sound ):
RField( selectable, perm, return_val, who, number, sound ) {
	handle = name;
	field_font = f_font;
}

bool RField_Name::equiv( void * obj ) {
	return handle == *(string *)obj;
}

int RField_Name::Size() {
	return field_font->getHeight();
}
	
void RField_Name::set( void * object ){
	string * str = (string *) object;
	this->handle = *str;
}

void RField_Name::Draw( const Bitmap & work, int x, int y, int col ) {
	work.printf( x, y, col, this->field_font, this->handle );
}

RField_Name::~RField_Name() {
	//delete[] handle;
	// free( handle );
}

RField_Bitmap::RField_Bitmap( const Bitmap & look, bool selectable, bool perm, int return_val, RMenu * who, int number, int sound ):
RField( selectable, perm, return_val, who, number, sound ) {
	scene =  look;
}

bool RField_Bitmap::equiv( void * obj ) {
	return false;
}

int RField_Bitmap::Size() {
	return scene.getHeight();
}

void RField_Bitmap::Draw( const Bitmap & work, int x, int y, int col ) {
	scene.draw( x, y, work );
}

RField_Bitmap::~RField_Bitmap() {
}