Subversion Repositories Kolibri OS

Rev

Rev 551 | Rev 6166 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 551 Rev 964
Line 17... Line 17...
17
    along with this program; if not, write to the Free Software
17
    along with this program; if not, write to the Free Software
18
    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
18
    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
Line 19... Line 19...
19
 
19
 
Line 20... Line -...
20
*******************************************************************************/
-
 
21
 
20
*******************************************************************************/
22
void draw_window()
21
 
23
// Ïðîöåäóðà îòðèñîâêè îêíà
-
 
24
{
22
void draw_window() // Ïðîöåäóðà îòðèñîâêè îêíà
25
 
23
{
Line 26... Line 24...
26
  sys_window_redraw(1);
24
  sys_window_redraw(1);
27
  sys_get_colors(#colors, 40);
25
  sys_get_colors(#colors, 40);
Line 34... Line 32...
34
   //  BUTTON (911)
32
   //  BUTTON (911)
35
  EBX = xsize / 2 - 10;
33
  EBX = xsize / 2 - 10;
36
  EBX = EBX << 16 + 20;
34
  EBX = EBX << 16 + 20;
37
  sys_draw_button(EBX, 25<<16+20, 911, clLightGray);
35
  sys_draw_button(EBX, 25<<16+20, 911, clLightGray);
Line 38... Line -...
38
 
-
 
39
  // 
BUTTON (1000)
-
 
40
//  EBX = ncx * XPX; EBX += XST << 16;
-
 
41
//  ECX = ncy * YPX; ECX += YST << 16;
-
 
42
//  sys_draw_button(EBX, ECX, 1000, 0x60000000);
-
 
43
 
36
 
44
  //  BUTTON (1001)
37
  //  BUTTON (1001)
Line 45... Line 38...
45
  sys_draw_button(10<<16+7, 23<<16+7, 1001, 0x118811);
38
  sys_draw_button(10<<16+7, 23<<16+7, 1001, 0x118811);
46
 
39
 
Line 47... Line -...
47
  //  BUTTON (1002)
-
 
48
//  sys_draw_button(20<<16+7, ECX, EDX+1, 0xddbb44);
-
 
49
 
-
 
50
  //  BUTTON (1003)
-
 
51
  // sys_draw_button();
-
 
52
 
-
 
53
  //  BUTTON (1004)
-
 
54
  // sys_draw_button();
-
 
55
 
-
 
56
  //  BUTTON (1005)
-
 
57
  // sys_draw_button();
-
 
58
 
40
  //  BUTTON (1002)
59
  sys_window_redraw(2);
41
  //sys_draw_button(20<<16+7, ECX, EDX+1, 0xddbb44);
60
 
42
 
Line -... Line 43...
-
 
43
  draw_time();     // draw timer
61
  draw_time();     // draw timer
44
  draw_minesi();   // draw mines
Line 62... Line 45...
62
  draw_minesi();   // draw mines
45
  draw_squares();  // draw field
63
  draw_squares();  // draw field
46
 
64
 
47
  sys_window_redraw(2);
Line 87... Line 70...
87
   xl = XPX * x + XST;
70
   xl = XPX * x + XST;
88
   xr = xl + XPX - 1;
71
   xr = xl + XPX - 1;
89
   yt = YPX * y + YST;
72
   yt = YPX * y + YST;
90
   yb = yt + YPX - 1;
73
   yb = yt + YPX - 1;
Line 91... Line 74...
91
 
74
 
92
   EBX = xl << 16 + xr - xl;
75
   EBX = xl+1 << 16 + xr - xl-1;
93
   ECX = yt << 16 + yb - yt;
76
   ECX = yt+1 << 16 + yb - yt-1;
94
   $inc ebx
77
   $inc ebx
95
   $inc ecx
78
   $inc ecx
Line 96... Line 79...
96
   sys_draw_bar(EBX, ECX, clLightGray);  // ðèñóåò çàêðàøåííûé ïðÿìîóãîëüíèê
79
   sys_draw_bar(EBX, ECX, clLightGray);  // ðèñóåò çàêðàøåííûé ïðÿìîóãîëüíèê
Line 111... Line 94...
111
        CASE 1: tcolor = 0xd04444; tchar = 'P';
94
        CASE 1: tcolor = 0xd04444; tchar = 'P';
112
      }
95
      }
Line 113... Line 96...
113
 
96
 
114
      IF (get_mark(x,y))
97
      IF (get_mark(x,y))
115
      {
98
      {
116
        EBX = xl + 5; EBX <<= 16; EBX += yt + 4;
99
        EBX = xl + 5 << 16 + yt + 4;
117
        sys_write_text(EBX, tcolor, #tchar, 1);
100
        sys_write_text(EBX, tcolor, #tchar, 1);
118
        EBX += 0x00010000;
101
        EBX += 0x00010000;
119
        /*  Âòîðîé ðàç - ðåãèñòðû ñîõðàíÿþòñÿ  */
102
        /*  Âòîðîé ðàç - ðåãèñòðû ñîõðàíÿþòñÿ  */
120
        sys_write_text(EBX, ECX, EDX, ESI);
103
        sys_write_text(EBX, ECX, EDX, ESI);
Line 133... Line 116...
133
        ELSE
116
        ELSE
134
        {
117
        {
135
          tchar = tval + '0';
118
          tchar = tval + '0';
136
          tcolor = num_colors[tval-1];
119
          tcolor = num_colors[tval-1];
137
        }
120
        }
138
        EBX = xl + 5; EBX <<= 16; EBX += yt + 5;
121
        EBX = xl + 5 << 16 + yt + 5;
139
        sys_write_text(EBX, tcolor, #tchar, 1);
122
        sys_write_text(EBX, tcolor, #tchar, 1);
140
        EBX += 0x00010000;
123
        EBX += 0x00010000;
141
        sys_write_text(EBX, ECX, EDX, ESI);
124
        sys_write_text(EBX, ECX, EDX, ESI);
142
      }
125
      }
143
      sys_draw_line(xl << 16 + xl, yt << 16 + yb, clDarkGray);
126
      sys_draw_line(xl << 16 + xl, yt << 16 + yb, clDarkGray);
Line 148... Line 131...
148
 
131
 
149
// Òàéìåð
132
// Òàéìåð
150
void draw_time()
133
void draw_time()
151
{
134
{
152
  sys_draw_bar(XST<<16+25, 31<<16+10, 0xCCCCCC);
-
 
153
  EBX = 0x00030000;
135
  sys_draw_bar(XST<<16+25, 31<<16+10, 0xCCCCCC);
154
  sys_write_number(EBX, time, XST<<16+32, 0x10ff0000);
136
  sys_write_number(0x00030000, time, XST<<16+32, 0x10ff0000);
Line 155... Line 137...
155
}
137
}
156
 
138
 
Line 162... Line 144...
162
  $PUSH EBX
144
  $PUSH EBX
163
  EBX = EBX << 16 + 25;
145
  EBX = EBX << 16 + 25;
164
  sys_draw_bar(EBX, 31<<16+10, 0xCCCCCC);
146
  sys_draw_bar(EBX, 31<<16+10, 0xCCCCCC);
165
  $POP EDX
147
  $POP EDX
166
  EDX <<= 16; EDX += 32;
148
  EDX <<= 16; EDX += 32;
167
  EBX = 0x00030000;
-
 
168
  sys_write_number(EBX, cmines, EDX, 0x10ff0000);
149
  sys_write_number(0x00030000, cmines, EDX, 0x10ff0000);
169
}
150
}
Line 170... Line 151...
170
 
151
 
171
 
152
 
172
// Îòðèñîâêà ìèííîãî ïîëÿ
153
// Îòðèñîâêà ìèííîãî ïîëÿ
173
void draw_squares()
154
void draw_squares()
Line 174... Line -...
174
{
-
 
175
  int x,y;
155
{
-
 
156
  int x,y;
176
 
157
 
177
  FOR (x=0; x < ncx; x++)
158
  FOR (y=0; y < ncy; y++)
178
    FOR (y=0; y < ncy; y++)
159
    FOR (x=0; x < ncx; x++)