Subversion Repositories Kolibri OS

Rev

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

Rev 9211 Rev 9288
Line 1... Line 1...
1
#include 
1
#include 
2
#include 
2
#include 
3
#include 
3
#include 
-
 
4
#include 
4
#include "SDL.h"
5
#include "SDL.h"
5
#include "SDL_error.h"
6
#include "SDL_error.h"
6
#include "SDL_video.h"
7
#include "SDL_video.h"
7
#include "SDL_mouse.h"
8
#include "SDL_mouse.h"
8
#include "SDL_sysvideo.h"
9
#include "SDL_sysvideo.h"
Line 21... Line 22...
21
 
22
 
22
#ifdef KEEP_OBSOLETE_STYLE3
23
#ifdef KEEP_OBSOLETE_STYLE3
23
static int IsStyle4Available=0;
24
static int IsStyle4Available=0;
Line -... Line 25...
-
 
25
#endif
-
 
26
 
-
 
27
void kol_define_window(unsigned short x1,unsigned short y1,unsigned short xsize,unsigned short ysize,
-
 
28
     unsigned long body_color,unsigned long grab_color,unsigned long frame_color)
-
 
29
{
-
 
30
 unsigned long a,b;
-
 
31
 a=(x1<<16)|xsize;
-
 
32
 b=(y1<<16)|ysize;
-
 
33
 __asm__ __volatile__("int $0x40"::"a"(0),"b"(a),"c"(b),"d"(body_color),"S"(grab_color),
-
 
34
                      "D"(frame_color));
24
#endif
35
}
25
 
36
 
26
void MenuetOS_SDL_RepaintWnd(void)
37
void MenuetOS_SDL_RepaintWnd(void)
27
{
38
{
28
 __kos__window_redraw(1);
39
 begin_draw();
29
 __kos__define_window(1, 1, vm_suf->hidden->win_size_x+9,vm_suf->hidden->win_size_y+__kos__get_skinh()+4,
40
 kol_define_window(1,1,vm_suf->hidden->win_size_x+9,vm_suf->hidden->win_size_y+get_skin_height()+4,
30
#ifdef KEEP_OBSOLETE_STYLE3
41
#ifdef KEEP_OBSOLETE_STYLE3
31
 	IsStyle4Available?0x34000000:0x33000000
42
 	IsStyle4Available?0x34000000:0x33000000
32
#else
43
#else
33
	0x34000000
44
	0x34000000
Line 34... Line 45...
34
#endif
45
#endif
Line 35... Line 46...
35
 	,0,(int)vm_suf->hidden->__title);
46
 	,0,(int)vm_suf->hidden->__title);
36
 
47
 
37
 // __asm__ __volatile__("int3");
48
 // __asm__ __volatile__("int3");
38
 
49
 
39
 if(vm_suf && vm_suf->hidden->__video_buffer)
50
 if(vm_suf && vm_suf->hidden->__video_buffer)
Line 40... Line 51...
40
   __kos__draw_bitmap(vm_suf->hidden->__video_buffer, 0,0,
51
  draw_bitmap(vm_suf->hidden->__video_buffer, 0,0,
41
   vm_suf->hidden->win_size_x,vm_suf->hidden->win_size_y);
52
   vm_suf->hidden->win_size_x,vm_suf->hidden->win_size_y);
42
   __kos__window_redraw(2);
53
 end_draw();
Line 62... Line 73...
62
 
73
 
63
static void MenuetOS_DirectUpdate(_THIS,int numrects,SDL_Rect * rects)
74
static void MenuetOS_DirectUpdate(_THIS,int numrects,SDL_Rect * rects)
64
{
75
{
65
 if(numrects)
76
 if(numrects)
66
 {
77
 {
67
   __kos__draw_bitmap(this->hidden->__video_buffer, 0,0,
78
  draw_bitmap(this->hidden->__video_buffer, 0,0,
68
   vm_suf->hidden->win_size_x,vm_suf->hidden->win_size_y);
79
   vm_suf->hidden->win_size_x,vm_suf->hidden->win_size_y);
69
 }
80
 }
Line 70... Line 81...
70
}
81
}
Line 103... Line 114...
103
 current->h=height;
114
 current->h=height;
104
 current->pitch=width*(bpp>>3);
115
 current->pitch=width*(bpp>>3);
Line 105... Line 116...
105
 
116
 
106
 char info[100];
117
 char info[100];
-
 
118
 sprintf(info, "width = %d, height = %d, pitch = %d, bpp = %d\n", current->w, current->h, current->pitch, bpp);
-
 
119
 
-
 
120
 
-
 
121
 void debug_board_write_byte(const char ch){
-
 
122
   __asm__ __volatile__(
-
 
123
			"int $0x40"
-
 
124
			:
-
 
125
			:"a"(63), "b"(1), "c"(ch));
-
 
126
 }
-
 
127
 
-
 
128
 void debug_board_write_str(const char* str){
-
 
129
   while(*str)
-
 
130
     debug_board_write_byte(*str++);
-
 
131
 }
107
 sprintf(info, "width = %d, height = %d, pitch = %d, bpp = %d\n", current->w, current->h, current->pitch, bpp);
132
 
108
 __kos__dbg_write_str(info);
133
 debug_board_write_str(info);
Line 109... Line 134...
109
 // __asm__ __volatile__("int3");
134
 // __asm__ __volatile__("int3");
110
 
135
 
111
 current->pixels=this->hidden->__video_buffer=realloc(this->hidden->__video_buffer,
136
 current->pixels=this->hidden->__video_buffer=realloc(this->hidden->__video_buffer,
Line 122... Line 147...
122
 vm_suf=this;
147
 vm_suf=this;
Line 123... Line 148...
123
 
148
 
124
 
149
 
125
 if (was_initialized)
150
 if (was_initialized)
126
 {
151
 {
Line 127... Line 152...
127
  unsigned newheight = height+__kos__get_skinh()+4;
152
  unsigned newheight = height+get_skin_height+4;
128
  unsigned newwidth  = width+9;
153
  unsigned newwidth  = width+9;
129
 
154
 
130
  __kos__change_window(-1, -1, newwidth, newheight);
155
  sys_change_window(-1, -1, newwidth, newheight);
-
 
156
 }
131
 }
157
 else
132
 else
158
 {
133
 {
159
 
134
  __kos__set_events_mask(0x27);
160
  set_wanted_events_mask(0x27);
135
  was_initialized=1;
161
  was_initialized=1;
136
  MenuetOS_SDL_RepaintWnd();
162
  MenuetOS_SDL_RepaintWnd();
Line 197... Line 223...
197
 return 0;
223
 return 0;
198
}
224
}
Line 199... Line 225...
199
 
225
 
200
static int MenuetOS_FlipHWSurface(_THIS,SDL_Surface * surface)
226
static int MenuetOS_FlipHWSurface(_THIS,SDL_Surface * surface)
201
{
227
{
202
 __kos__draw_bitmap(surface->pixels, 0,0,surface->w,surface->h);
228
 draw_bitmap(surface->pixels, 0,0,surface->w,surface->h);
203
 return 0;
229
 return 0;
Line 204... Line 230...
204
}
230
}
205
 
231