blob: 3600400ecea43449d70e729963449f1bc6ac603a (
plain)
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
|
{$IfDef read_interface}
type
TGnomeCalculatorMode = (GNOME_CALCULATOR_DEG,GNOME_CALCULATOR_RAD,
GNOME_CALCULATOR_GRAD);
PGnomeCalculator = ^TGnomeCalculator;
TGnomeCalculator = record
vbox : TGtkVBox;
result : gdouble;
result_string : array[0..12] of gchar;
memory : gdouble;
display : PGtkWidget;
mode : TGnomeCalculatorMode;
flag0 : word;
invert_button : PGtkWidget;
stack : PGList;
accel : PGtkAccelGroup;
end;
GNOME_CALCULATOR = PGnomeCalculator;
const
bm__GnomeCalculator_add_digit = $1;
bp__GnomeCalculator_add_digit = 0;
bm__GnomeCalculator_error = $2;
bp__GnomeCalculator_error = 1;
bm__GnomeCalculator_invert = $4;
bp__GnomeCalculator_invert = 2;
function add_digit(var a : TGnomeCalculator) : guint;
procedure set_add_digit(var a : TGnomeCalculator; __add_digit : guint);
function error(var a : TGnomeCalculator) : guint;
procedure set_error(var a : TGnomeCalculator; __error : guint);
function invert(var a : TGnomeCalculator) : guint;
procedure set_invert(var a : TGnomeCalculator; __invert : guint);
type
PGnomeCalculatorClass = ^TGnomeCalculatorClass;
TGnomeCalculatorClass = record
parent_class : TGtkVBoxClass;
result_changed : procedure (gc:PGnomeCalculator; result:gdouble);cdecl;
end;
GNOME_CALCULATOR_CLASS = PGnomeCalculatorClass;
function GNOME_TYPE_CALCULATOR : TGTKType;
function GNOME_IS_CALCULATOR(obj : Pointer) : Boolean;
function GNOME_IS_CALCULATOR_CLASS(klass : Pointer) : Boolean;
function gnome_calculator_get_type:TGTKType;cdecl;external libgnomeuidll name 'gnome_calculator_get_type';
function gnome_calculator_new:PGtkWidget;cdecl;external libgnomeuidll name 'gnome_calculator_new';
procedure gnome_calculator_clear(gc:PGnomeCalculator; doreset:gboolean);cdecl;external libgnomeuidll name 'gnome_calculator_clear';
procedure gnome_calculator_set(gc:PGnomeCalculator; result:gdouble);cdecl;external libgnomeuidll name 'gnome_calculator_set';
function gnome_calculator_get_result(gc : PGnomeCalculator) : gdouble;
{$EndIf read_interface}
{$Ifdef read_implementation}
function GNOME_TYPE_CALCULATOR : TGTKType;
begin
GNOME_TYPE_CALCULATOR:=gnome_calculator_get_type;
end;
function GNOME_IS_CALCULATOR(obj : Pointer) : Boolean;
begin
GNOME_IS_CALCULATOR:=(obj<>nil) and GNOME_IS_CALCULATOR_CLASS(PGtkTypeObject(obj)^.klass);
end;
function GNOME_IS_CALCULATOR_CLASS(klass : Pointer) : Boolean;
begin
GNOME_IS_CALCULATOR_CLASS:=(klass<>nil) and (PGtkTypeClass(klass)^.thetype=GNOME_TYPE_CALCULATOR);
end;
function add_digit(var a : TGnomeCalculator) : guint;
begin
add_digit:=(a.flag0 and bm__GnomeCalculator_add_digit) shr bp__GnomeCalculator_add_digit;
end;
procedure set_add_digit(var a : TGnomeCalculator; __add_digit : guint);
begin
a.flag0:=a.flag0 or ((__add_digit shl bp__GnomeCalculator_add_digit) and bm__GnomeCalculator_add_digit);
end;
function error(var a : TGnomeCalculator) : guint;
begin
error:=(a.flag0 and bm__GnomeCalculator_error) shr bp__GnomeCalculator_error;
end;
procedure set_error(var a : TGnomeCalculator; __error : guint);
begin
a.flag0:=a.flag0 or ((__error shl bp__GnomeCalculator_error) and bm__GnomeCalculator_error);
end;
function invert(var a : TGnomeCalculator) : guint;
begin
invert:=(a.flag0 and bm__GnomeCalculator_invert) shr bp__GnomeCalculator_invert;
end;
procedure set_invert(var a : TGnomeCalculator; __invert : guint);
begin
a.flag0:=a.flag0 or ((__invert shl bp__GnomeCalculator_invert) and bm__GnomeCalculator_invert);
end;
function gnome_calculator_get_result(gc : PGnomeCalculator) : gdouble;
begin
gnome_calculator_get_result:=gc^.result;
end;
{$Endif read_implementation}
|