comparison mac/dw.m @ 1748:e4fcd1e81f0d

Added optional utf8 parameter to keypress callback on Mac.
author bsmith@81767d24-ef19-dc11-ae90-00e081727c95
date Wed, 13 Jun 2012 19:38:00 +0000
parents 535e8c19a13d
children 5ffeea4a2a4b
comparison
equal deleted inserted replaced
1747:f297d8a63aed 1748:e4fcd1e81f0d
260 } 260 }
261 return 0; 261 return 0;
262 } 262 }
263 case 2: 263 case 2:
264 { 264 {
265 int (*keypressfunc)(HWND, char, int, int, void *) = handler->signalfunction; 265 int (*keypressfunc)(HWND, char, int, int, void *, char *) = handler->signalfunction;
266 NSString *nchar = [event charactersIgnoringModifiers]; 266 NSString *nchar = [event charactersIgnoringModifiers];
267 int special = (int)[event modifierFlags]; 267 int special = (int)[event modifierFlags];
268 unichar vk = [nchar characterAtIndex:0]; 268 unichar vk = [nchar characterAtIndex:0];
269 char ch = '\0'; 269 char *utf8 = NULL, ch = '\0';
270 270
271 /* Handle a valid key */ 271 /* Handle a valid key */
272 if([nchar length] == 1) 272 if([nchar length] == 1)
273 { 273 {
274 const char *tmp = [nchar UTF8String]; 274 char *tmp = (char *)[nchar UTF8String];
275 if(tmp && strlen(tmp) == 1) 275 if(tmp && strlen(tmp) == 1)
276 { 276 {
277 ch = tmp[0]; 277 ch = tmp[0];
278 } 278 }
279 utf8 = tmp;
279 } 280 }
280 281
281 return keypressfunc(handler->window, ch, (int)vk, special, handler->data); 282 return keypressfunc(handler->window, ch, (int)vk, special, handler->data, utf8);
282 } 283 }
283 /* Button press and release event */ 284 /* Button press and release event */
284 case 3: 285 case 3:
285 case 4: 286 case 4:
286 { 287 {