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 |