Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
31 halyavin 1
center       fix false
2
SYSTEMCOLORS fix sc
3
PROCESSINFO  fix pinfo
4
 
5
macro get_sys_colors wnd_skin,font_1 {
6
 mcall 48,3,SYSTEMCOLORS,sizeof.system_colors
7
 if wnd_skin <> 0
8
  or [SYSTEMCOLORS+system_colors.work],0x03000000
9
 end if
10
 if font_1 <> 0
11
  or [SYSTEMCOLORS+system_colors.grab_text],0x10000000
12
 end if
13
}
14
 
15
macro draw_caption _edx,_esi {
16
 mov  edx,_edx
17
 mov  esi,_esi
18
 call __draw_caption
19
}
20
 
21
macro mpack dest, hsrc, lsrc
22
{
23
  if (hsrc eqtype 0) & (lsrc eqtype 0)
24
    mov dest, (hsrc) shl 16 + lsrc
25
  else
26
    if (hsrc eqtype 0) & (~lsrc eqtype 0)
27
      mov dest, (hsrc) shl 16
28
      add dest, lsrc
29
    else
30
      mov dest, hsrc
31
      shl dest, 16
32
      add dest, lsrc
33
    end if
34
  end if
35
}
36
 
37
macro __mov reg,a,b {
38
 if (~a eq)&(~b eq)
39
   mpack reg,a,b
40
 else if (~a eq)&(b eq)
41
   mov reg,a
42
 end if
43
}
44
 
45
macro mcall a,b,c,d,e,f {
46
 __mov eax,a
47
 __mov ebx,b
48
 __mov ecx,c
49
 __mov edx,d
50
 __mov esi,e
51
 __mov edi,f
52
 int   0x40
53
}
54
 
55
macro sz name,[data] {
56
 if used name
57
  common
58
   label name
59
  forward
60
   db data
61
  common
62
   .size = $-name
63
 end if
64
}
65
 
66
macro lsz name,[lng,data] {
67
 if used name
68
  common
69
   label name
70
  forward
71
   if lang eq lng
72
    db data
73
   end if
74
  common
75
   .size = $-name
76
 end if
77
}
78
 
79
macro mmov reg,a1,a2 {
80
 mov reg,(a1) shl 16 + (a2)
81
}
82
 
83
macro madd reg,a1,a2 {
84
 add reg,(a1) shl 16 + (a2)
85
}
86
 
87
macro msub reg,a1,a2 {
88
 sub reg,(a1) shl 16 + (a2)
89
}
90
 
91
macro jmpe reg,def,[val,lab] {
92
 forward
93
  cmp reg,val
94
  je  lab
95
 common
96
  if ~def eq
97
   jmp def
98
  end if
99
}
100
 
101
macro func name {
102
 if used name
103
  name:
104
}
105
 
106
macro endf {
107
 end if
108
}
109
 
110
@^ fix macro comment {
111
^@ fix }
112
 
113
; structure definition helper
114
 
115
;include '%fasminc%struct.inc'
116
include 'struct.inc'
117
 
118
; structures used in MeOS
119
struct process_information
120
  cpu_usage               dd ?  ; +0
121
  window_stack_position   dw ?  ; +4
122
  window_stack_value      dw ?  ; +6
123
  not_used1               dw ?  ; +8
124
  process_name            db 12 dup(?) ; +10
125
  memory_start            dd ?  ; +22
126
  used_memory             dd ?  ; +26
127
  PID                     dd ?  ; +30
128
  x_start                 dd ?  ; +34
129
  y_start                 dd ?  ; +38
130
  x_size                  dd ?  ; +42
131
  y_size                  dd ?  ; +46
132
  slot_state              dw ?  ; +50
133
  not_used2               db 1024-52 dup(?)
134
ends
135
 
136
struct system_colors
137
  frame            dd ?
138
  grab             dd ?
139
  grab_button      dd ?
140
  grab_button_text dd ?
141
  grab_text        dd ?
142
  work             dd ?
143
  work_button      dd ?
144
  work_button_text dd ?
145
  work_text        dd ?
146
  work_graph       dd ?
147
ends