comparison src/video/gem/SDL_gemwm.c @ 1895:c121d94672cb

SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
author Sam Lantinga <slouken@libsdl.org>
date Mon, 10 Jul 2006 21:04:37 +0000
parents d910939febfa
children 7312feb88dad
comparison
equal deleted inserted replaced
1894:c69cee13dd76 1895:c121d94672cb
38 #define ICONWIDTH 64 38 #define ICONWIDTH 64
39 #define ICONHEIGHT 64 39 #define ICONHEIGHT 64
40 40
41 /* Functions */ 41 /* Functions */
42 42
43 void GEM_SetCaption(_THIS, const char *title, const char *icon) 43 void
44 GEM_SetCaption(_THIS, const char *title, const char *icon)
44 { 45 {
45 if (title) { 46 if (title) {
46 GEM_title_name = title; 47 GEM_title_name = title;
47 GEM_refresh_name = SDL_TRUE; 48 GEM_refresh_name = SDL_TRUE;
48 } 49 }
49 50
50 if (icon) { 51 if (icon) {
51 GEM_icon_name = icon; 52 GEM_icon_name = icon;
52 GEM_refresh_name = SDL_TRUE; 53 GEM_refresh_name = SDL_TRUE;
53 } 54 }
54 } 55 }
55 56
56 void GEM_SetIcon(_THIS, SDL_Surface *icon, Uint8 *mask) 57 void
58 GEM_SetIcon(_THIS, SDL_Surface * icon, Uint8 * mask)
57 { 59 {
58 SDL_Surface *sicon; 60 SDL_Surface *sicon;
59 SDL_Rect bounds; 61 SDL_Rect bounds;
60 62
61 #if 0 63 #if 0
62 if ((GEM_wfeatures & (1<<WF_ICONIFY))==0) { 64 if ((GEM_wfeatures & (1 << WF_ICONIFY)) == 0) {
63 return; 65 return;
64 } 66 }
65 #endif 67 #endif
66 68
67 if (icon == NULL) { 69 if (icon == NULL) {
68 return; 70 return;
69 } 71 }
70
71 /* Convert icon to the screen format */
72 sicon = SDL_CreateRGBSurface(SDL_SWSURFACE, icon->w, icon->h,
73 VDI_bpp, VDI_redmask, VDI_greenmask, VDI_bluemask, 0);
74 if ( sicon == NULL ) {
75 return;
76 }
77 72
78 bounds.x = 0; 73 /* Convert icon to the screen format */
79 bounds.y = 0; 74 sicon = SDL_CreateRGBSurface(SDL_SWSURFACE, icon->w, icon->h,
80 bounds.w = icon->w; 75 VDI_bpp, VDI_redmask, VDI_greenmask,
81 bounds.h = icon->h; 76 VDI_bluemask, 0);
82 if ( SDL_LowerBlit(icon, &bounds, sicon, &bounds) < 0 ) { 77 if (sicon == NULL) {
83 SDL_FreeSurface(sicon); 78 return;
84 return; 79 }
85 }
86 80
87 GEM_icon = sicon; 81 bounds.x = 0;
82 bounds.y = 0;
83 bounds.w = icon->w;
84 bounds.h = icon->h;
85 if (SDL_LowerBlit(icon, &bounds, sicon, &bounds) < 0) {
86 SDL_FreeSurface(sicon);
87 return;
88 }
89
90 GEM_icon = sicon;
88 } 91 }
89 92
90 int GEM_IconifyWindow(_THIS) 93 int
94 GEM_IconifyWindow(_THIS)
91 { 95 {
92 if ((GEM_wfeatures & (1<<WF_ICONIFY))==0) 96 if ((GEM_wfeatures & (1 << WF_ICONIFY)) == 0)
93 return 0; 97 return 0;
94 98
95 GEM_message[0] = WM_ICONIFY; 99 GEM_message[0] = WM_ICONIFY;
96 GEM_message[1] = gl_apid; 100 GEM_message[1] = gl_apid;
97 GEM_message[2] = 0; 101 GEM_message[2] = 0;
98 GEM_message[3] = GEM_handle; 102 GEM_message[3] = GEM_handle;
99 GEM_message[4] = 0; 103 GEM_message[4] = 0;
100 GEM_message[5] = GEM_desk_h-ICONHEIGHT; 104 GEM_message[5] = GEM_desk_h - ICONHEIGHT;
101 GEM_message[6] = ICONWIDTH; 105 GEM_message[6] = ICONWIDTH;
102 GEM_message[7] = ICONHEIGHT; 106 GEM_message[7] = ICONHEIGHT;
103 107
104 appl_write(gl_apid, sizeof(GEM_message), GEM_message); 108 appl_write(gl_apid, sizeof(GEM_message), GEM_message);
105 109
106 return 1; 110 return 1;
107 } 111 }
108 112
109 SDL_GrabMode GEM_GrabInput(_THIS, SDL_GrabMode mode) 113 SDL_GrabMode
114 GEM_GrabInput(_THIS, SDL_GrabMode mode)
110 { 115 {
111 return SDL_GRAB_OFF; 116 return SDL_GRAB_OFF;
112 } 117 }
118
119 /* vi: set ts=4 sw=4 expandtab: */