5190 # define pe ((XPropertyEvent *)&ev) |
5186 # define pe ((XPropertyEvent *)&ev) |
5191 # define sce ((XSelectionClearEvent *)&ev) |
5187 # define sce ((XSelectionClearEvent *)&ev) |
5192 # define cme ((XColormapEvent *)&ev) |
5188 # define cme ((XColormapEvent *)&ev) |
5193 |
5189 |
5194 if (((t = __INST(lastId)) != nil) |
5190 if (((t = __INST(lastId)) != nil) |
5195 && __isExternalAddress(t) |
5191 && __isExternalAddress(t) |
5196 && (__WindowVal(t) == ae->window)) { |
5192 && (__WindowVal(t) == ae->window)) { |
5197 windowID = t; |
5193 windowID = t; |
5198 } else { |
5194 } else { |
5199 windowID = __MKEXTERNALADDRESS(ae->window); |
5195 windowID = __MKEXTERNALADDRESS(ae->window); |
5200 } |
5196 } |
5201 |
5197 |
5202 __ArrayInstPtr(anEventArray)->a_element[0] = windowID; __STORE(anEventArray, windowID); |
5198 __ArrayInstPtr(anEventArray)->a_element[0] = windowID; __STORE(anEventArray, windowID); |
5203 __ArrayInstPtr(anEventArray)->a_element[1] = __MKSMALLINT(ev.type); |
5199 __ArrayInstPtr(anEventArray)->a_element[1] = __MKSMALLINT(ev.type); |
5204 |
5200 |
5205 switch (ev.type) { |
5201 switch (ev.type) { |
5206 case KeyRelease: |
5202 case KeyRelease: |
5207 sym = @symbol(keyRelease:key:code:state:x:y:rootX:rootY:time:); |
5203 sym = @symbol(keyRelease:key:code:state:x:y:rootX:rootY:time:); |
5208 goto keyPressAndRelease; |
5204 goto keyPressAndRelease; |
5209 |
5205 |
5210 case KeyPress: |
5206 case KeyPress: |
5211 sym = @symbol(keyPress:key:code:state:x:y:rootX:rootY:time:); |
5207 sym = @symbol(keyPress:key:code:state:x:y:rootX:rootY:time:); |
5212 /* FALL INTO */ |
5208 /* FALL INTO */ |
5213 |
5209 |
5214 keyPressAndRelease: |
5210 keyPressAndRelease: |
5215 arg = nil; |
5211 arg = nil; |
5216 nchars = XLookupString(ke, (char *)buffer, sizeof(buffer), &keySym, NULL); |
5212 nchars = XLookupString(ke, (char *)buffer, sizeof(buffer), &keySym, NULL); |
5217 if (nchars |
5213 if (nchars |
5218 && (((buffer[0] >= ' ') && (buffer[0] <= '~')) |
5214 && (((buffer[0] >= ' ') && (buffer[0] <= '~')) |
5219 || (buffer[0] >= 0x80))) { |
5215 || (buffer[0] >= 0x80))) { |
5220 arg = _MKCHARACTER(buffer[0])/* *_CharacterTable[buffer[0]] */; |
5216 arg = __MKCHARACTER(buffer[0])/* *_CharacterTable[buffer[0]] */; |
5221 keySymString = NULL; |
5217 keySymString = NULL; |
5222 } else { |
5218 } else { |
5223 keySymString = XKeysymToString(keySym); |
5219 keySymString = XKeysymToString(keySym); |
5224 if (keySymString) { |
5220 if (keySymString) { |
5225 arg = __MKSTRING(keySymString); |
5221 arg = __MKSYMBOL(keySymString, 0); |
5226 } else { |
5222 } else { |
5227 arg = nil; |
5223 arg = nil; |
5228 } |
5224 } |
5229 } |
5225 } |
5230 |
5226 |
5231 #ifdef IGNORE_UNKNOWN_KEYCODES |
5227 #ifdef IGNORE_UNKNOWN_KEYCODES |
5232 if (arg == nil) { |
5228 if (arg == nil) { |
5233 /* happens sometimes (alt-graph on sun has no keysym) */ |
5229 /* happens sometimes (alt-graph on sun has no keysym) */ |
5234 RETURN (false); |
5230 RETURN (false); |
5235 } |
5231 } |
5236 #endif |
5232 #endif |
5237 __ArrayInstPtr(anEventArray)->a_element[2] = sym; |
5233 __ArrayInstPtr(anEventArray)->a_element[2] = sym; |
5238 |
5234 |
5239 __ArrayInstPtr(anEventArray)->a_element[3] = arg; __STORE(anEventArray, arg); |
5235 __ArrayInstPtr(anEventArray)->a_element[3] = arg; __STORE(anEventArray, arg); |
5240 __ArrayInstPtr(anEventArray)->a_element[4] = t = __MKUINT(ke->keycode); __STORE(anEventArray, t); |
5236 __ArrayInstPtr(anEventArray)->a_element[4] = t = __MKUINT(ke->keycode); __STORE(anEventArray, t); |
5241 __ArrayInstPtr(anEventArray)->a_element[5] = __mkSmallInteger(ke->state); |
5237 __ArrayInstPtr(anEventArray)->a_element[5] = __mkSmallInteger(ke->state); |
5242 __ArrayInstPtr(anEventArray)->a_element[6] = __mkSmallInteger(ke->x); |
5238 __ArrayInstPtr(anEventArray)->a_element[6] = __mkSmallInteger(ke->x); |
5243 __ArrayInstPtr(anEventArray)->a_element[7] = __mkSmallInteger(ke->y); |
5239 __ArrayInstPtr(anEventArray)->a_element[7] = __mkSmallInteger(ke->y); |
5244 __ArrayInstPtr(anEventArray)->a_element[8] = __mkSmallInteger(ke->x_root); |
5240 __ArrayInstPtr(anEventArray)->a_element[8] = __mkSmallInteger(ke->x_root); |
5245 __ArrayInstPtr(anEventArray)->a_element[9] = __mkSmallInteger(ke->y_root); |
5241 __ArrayInstPtr(anEventArray)->a_element[9] = __mkSmallInteger(ke->y_root); |
5246 __ArrayInstPtr(anEventArray)->a_element[10] = t = __MKUINT(ke->time); __STORE(anEventArray, t); |
5242 __ArrayInstPtr(anEventArray)->a_element[10] = t = __MKUINT(ke->time); __STORE(anEventArray, t); |
5247 break; |
5243 break; |
5248 |
5244 |
5249 case ButtonPress: |
5245 case ButtonPress: |
5250 sym = @symbol(buttonPress:button:state:x:y:rootX:rootY:time:); |
5246 sym = @symbol(buttonPress:button:state:x:y:rootX:rootY:time:); |
5251 goto buttonPressAndRelease; |
5247 goto buttonPressAndRelease; |
5252 |
5248 |
5253 case ButtonRelease: |
5249 case ButtonRelease: |
5254 sym = @symbol(buttonRelease:button:state:x:y:rootX:rootY:time:); |
5250 sym = @symbol(buttonRelease:button:state:x:y:rootX:rootY:time:); |
5255 /* fall into */ |
5251 /* fall into */ |
5256 |
5252 |
5257 buttonPressAndRelease: |
5253 buttonPressAndRelease: |
5258 __ArrayInstPtr(anEventArray)->a_element[2] = sym; |
5254 __ArrayInstPtr(anEventArray)->a_element[2] = sym; |
5259 __ArrayInstPtr(anEventArray)->a_element[3] = __mkSmallInteger(be->button); |
5255 __ArrayInstPtr(anEventArray)->a_element[3] = __mkSmallInteger(be->button); |
5260 __ArrayInstPtr(anEventArray)->a_element[4] = __mkSmallInteger(ke->state); |
5256 __ArrayInstPtr(anEventArray)->a_element[4] = __mkSmallInteger(ke->state); |
5261 __ArrayInstPtr(anEventArray)->a_element[5] = __mkSmallInteger(be->x); |
5257 __ArrayInstPtr(anEventArray)->a_element[5] = __mkSmallInteger(be->x); |
5262 __ArrayInstPtr(anEventArray)->a_element[6] = __mkSmallInteger(be->y); |
5258 __ArrayInstPtr(anEventArray)->a_element[6] = __mkSmallInteger(be->y); |
5263 __ArrayInstPtr(anEventArray)->a_element[7] = __mkSmallInteger(be->x_root); |
5259 __ArrayInstPtr(anEventArray)->a_element[7] = __mkSmallInteger(be->x_root); |
5264 __ArrayInstPtr(anEventArray)->a_element[8] = __mkSmallInteger(be->y_root); |
5260 __ArrayInstPtr(anEventArray)->a_element[8] = __mkSmallInteger(be->y_root); |
5265 __ArrayInstPtr(anEventArray)->a_element[9] = t = __MKUINT(be->time); __STORE(anEventArray, t); |
5261 __ArrayInstPtr(anEventArray)->a_element[9] = t = __MKUINT(be->time); __STORE(anEventArray, t); |
5266 break; |
5262 break; |
5267 |
5263 |
5268 case MotionNotify: |
5264 case MotionNotify: |
5269 __ArrayInstPtr(anEventArray)->a_element[2] = @symbol(buttonMotion:state:x:y:rootX:rootY:time:); |
5265 __ArrayInstPtr(anEventArray)->a_element[2] = @symbol(buttonMotion:state:x:y:rootX:rootY:time:); |
5270 |
5266 |
5271 __ArrayInstPtr(anEventArray)->a_element[3] = __mkSmallInteger(me->state); |
5267 __ArrayInstPtr(anEventArray)->a_element[3] = __mkSmallInteger(me->state); |
5272 __ArrayInstPtr(anEventArray)->a_element[4] = __mkSmallInteger(me->x); |
5268 __ArrayInstPtr(anEventArray)->a_element[4] = __mkSmallInteger(me->x); |
5273 __ArrayInstPtr(anEventArray)->a_element[5] = __mkSmallInteger(me->y); |
5269 __ArrayInstPtr(anEventArray)->a_element[5] = __mkSmallInteger(me->y); |
5274 __ArrayInstPtr(anEventArray)->a_element[6] = __mkSmallInteger(me->x_root); |
5270 __ArrayInstPtr(anEventArray)->a_element[6] = __mkSmallInteger(me->x_root); |
5275 __ArrayInstPtr(anEventArray)->a_element[7] = __mkSmallInteger(me->y_root); |
5271 __ArrayInstPtr(anEventArray)->a_element[7] = __mkSmallInteger(me->y_root); |
5276 __ArrayInstPtr(anEventArray)->a_element[8] = t = __MKUINT(me->time); __STORE(anEventArray, t); |
5272 __ArrayInstPtr(anEventArray)->a_element[8] = t = __MKUINT(me->time); __STORE(anEventArray, t); |
5277 break; |
5273 break; |
5278 |
5274 |
5279 case FocusIn: |
5275 case FocusIn: |
5280 __ArrayInstPtr(anEventArray)->a_element[2] = @symbol(focusIn:mode:detail:); |
5276 __ArrayInstPtr(anEventArray)->a_element[2] = @symbol(focusIn:mode:detail:); |
5281 goto focusInOut; |
5277 goto focusInOut; |
5282 |
5278 |
5283 case FocusOut: |
5279 case FocusOut: |
5284 __ArrayInstPtr(anEventArray)->a_element[2] = @symbol(focusOut:mode:detail:); |
5280 __ArrayInstPtr(anEventArray)->a_element[2] = @symbol(focusOut:mode:detail:); |
5285 /* fall into */ |
5281 /* fall into */ |
5286 |
5282 |
5287 focusInOut: |
5283 focusInOut: |
5288 __ArrayInstPtr(anEventArray)->a_element[3] = __mkSmallInteger(fe->mode); |
5284 __ArrayInstPtr(anEventArray)->a_element[3] = __mkSmallInteger(fe->mode); |
5289 __ArrayInstPtr(anEventArray)->a_element[4] = __mkSmallInteger(fe->detail); |
5285 __ArrayInstPtr(anEventArray)->a_element[4] = __mkSmallInteger(fe->detail); |
5290 break; |
5286 break; |
5291 |
5287 |
5292 case EnterNotify: |
5288 case EnterNotify: |
5293 __ArrayInstPtr(anEventArray)->a_element[2] = @symbol(pointerEnter:x:y:rootX:rootY:state:mode:detail:time:); |
5289 __ArrayInstPtr(anEventArray)->a_element[2] = @symbol(pointerEnter:x:y:rootX:rootY:state:mode:detail:time:); |
5294 goto enterLeave; |
5290 goto enterLeave; |
5295 |
5291 |
5296 case LeaveNotify: |
5292 case LeaveNotify: |
5297 __ArrayInstPtr(anEventArray)->a_element[2] = @symbol(pointerLeave:x:y:rootX:rootY:state:mode:detail:time:); |
5293 __ArrayInstPtr(anEventArray)->a_element[2] = @symbol(pointerLeave:x:y:rootX:rootY:state:mode:detail:time:); |
5298 /* fall into */ |
5294 /* fall into */ |
5299 |
5295 |
5300 enterLeave: |
5296 enterLeave: |
5301 __ArrayInstPtr(anEventArray)->a_element[3] = __mkSmallInteger(ele->x); |
5297 __ArrayInstPtr(anEventArray)->a_element[3] = __mkSmallInteger(ele->x); |
5302 __ArrayInstPtr(anEventArray)->a_element[4] = __mkSmallInteger(ele->y); |
5298 __ArrayInstPtr(anEventArray)->a_element[4] = __mkSmallInteger(ele->y); |
5303 __ArrayInstPtr(anEventArray)->a_element[5] = __mkSmallInteger(ele->x_root); |
5299 __ArrayInstPtr(anEventArray)->a_element[5] = __mkSmallInteger(ele->x_root); |
5304 __ArrayInstPtr(anEventArray)->a_element[6] = __mkSmallInteger(ele->y_root); |
5300 __ArrayInstPtr(anEventArray)->a_element[6] = __mkSmallInteger(ele->y_root); |
5305 __ArrayInstPtr(anEventArray)->a_element[7] = __mkSmallInteger(ele->state); |
5301 __ArrayInstPtr(anEventArray)->a_element[7] = __mkSmallInteger(ele->state); |
5306 __ArrayInstPtr(anEventArray)->a_element[8] = __mkSmallInteger(ele->mode); |
5302 __ArrayInstPtr(anEventArray)->a_element[8] = __mkSmallInteger(ele->mode); |
5307 __ArrayInstPtr(anEventArray)->a_element[9] = __mkSmallInteger(ele->detail); |
5303 __ArrayInstPtr(anEventArray)->a_element[9] = __mkSmallInteger(ele->detail); |
5308 __ArrayInstPtr(anEventArray)->a_element[10] = t = __MKUINT(ele->time); __STORE(anEventArray, t); |
5304 __ArrayInstPtr(anEventArray)->a_element[10] = t = __MKUINT(ele->time); __STORE(anEventArray, t); |
5309 break; |
5305 break; |
5310 |
5306 |
5311 case Expose: |
5307 case Expose: |
5312 __ArrayInstPtr(anEventArray)->a_element[2] = @symbol(expose:x:y:width:height:count:); |
5308 __ArrayInstPtr(anEventArray)->a_element[2] = @symbol(expose:x:y:width:height:count:); |
5313 goto expose; |
5309 goto expose; |
5314 |
5310 |
5315 case GraphicsExpose: |
5311 case GraphicsExpose: |
5316 __ArrayInstPtr(anEventArray)->a_element[2] = @symbol(graphicsExpose:x:y:width:height:count:); |
5312 __ArrayInstPtr(anEventArray)->a_element[2] = @symbol(graphicsExpose:x:y:width:height:count:); |
5317 /* fall into */ |
5313 /* fall into */ |
5318 |
5314 |
5319 expose: |
5315 expose: |
5320 __ArrayInstPtr(anEventArray)->a_element[3] = __mkSmallInteger(ee->x); |
5316 __ArrayInstPtr(anEventArray)->a_element[3] = __mkSmallInteger(ee->x); |
5321 __ArrayInstPtr(anEventArray)->a_element[4] = __mkSmallInteger(ee->y); |
5317 __ArrayInstPtr(anEventArray)->a_element[4] = __mkSmallInteger(ee->y); |
5322 __ArrayInstPtr(anEventArray)->a_element[5] = __mkSmallInteger(ee->width); |
5318 __ArrayInstPtr(anEventArray)->a_element[5] = __mkSmallInteger(ee->width); |
5323 __ArrayInstPtr(anEventArray)->a_element[6] = __mkSmallInteger(ee->height); |
5319 __ArrayInstPtr(anEventArray)->a_element[6] = __mkSmallInteger(ee->height); |
5324 __ArrayInstPtr(anEventArray)->a_element[7] = __mkSmallInteger(ee->count); |
5320 __ArrayInstPtr(anEventArray)->a_element[7] = __mkSmallInteger(ee->count); |
5325 break; |
5321 break; |
5326 |
5322 |
5327 case NoExpose: |
5323 case NoExpose: |
5328 __ArrayInstPtr(anEventArray)->a_element[2] = @symbol(noExposeView:); |
5324 __ArrayInstPtr(anEventArray)->a_element[2] = @symbol(noExposeView:); |
5329 break; |
5325 break; |
5330 |
5326 |
5331 case VisibilityNotify: |
5327 case VisibilityNotify: |
5332 __ArrayInstPtr(anEventArray)->a_element[2] = @symbol(visibilityNotify:state:); |
5328 __ArrayInstPtr(anEventArray)->a_element[2] = @symbol(visibilityNotify:state:); |
5333 switch (ve->state) { |
5329 switch (ve->state) { |
5334 case VisibilityUnobscured: |
5330 case VisibilityUnobscured: |
5335 __ArrayInstPtr(anEventArray)->a_element[3] = @symbol(unobscured); |
5331 __ArrayInstPtr(anEventArray)->a_element[3] = @symbol(unobscured); |
5336 break; |
5332 break; |
5337 case VisibilityPartiallyObscured: |
5333 case VisibilityPartiallyObscured: |
5338 __ArrayInstPtr(anEventArray)->a_element[3] = @symbol(partiallyObscured); |
5334 __ArrayInstPtr(anEventArray)->a_element[3] = @symbol(partiallyObscured); |
5339 break; |
5335 break; |
5340 case VisibilityFullyObscured: |
5336 case VisibilityFullyObscured: |
5341 __ArrayInstPtr(anEventArray)->a_element[3] = @symbol(fullyObscured); |
5337 __ArrayInstPtr(anEventArray)->a_element[3] = @symbol(fullyObscured); |
5342 break; |
5338 break; |
5343 default: |
5339 default: |
5344 __ArrayInstPtr(anEventArray)->a_element[3] = __MKSMALLINT(ve->state); |
5340 __ArrayInstPtr(anEventArray)->a_element[3] = __MKSMALLINT(ve->state); |
5345 break; |
5341 break; |
5346 } |
5342 } |
5347 break; |
5343 break; |
5348 |
5344 |
5349 case CreateNotify: |
5345 case CreateNotify: |
5350 __ArrayInstPtr(anEventArray)->a_element[2] = @symbol(createWindow:x:y:width:height:); |
5346 __ArrayInstPtr(anEventArray)->a_element[2] = @symbol(createWindow:x:y:width:height:); |
5351 __ArrayInstPtr(anEventArray)->a_element[3] = __mkSmallInteger(cre->x); |
5347 __ArrayInstPtr(anEventArray)->a_element[3] = __mkSmallInteger(cre->x); |
5352 __ArrayInstPtr(anEventArray)->a_element[4] = __mkSmallInteger(cre->y); |
5348 __ArrayInstPtr(anEventArray)->a_element[4] = __mkSmallInteger(cre->y); |
5353 __ArrayInstPtr(anEventArray)->a_element[5] = __mkSmallInteger(cre->width); |
5349 __ArrayInstPtr(anEventArray)->a_element[5] = __mkSmallInteger(cre->width); |
5354 __ArrayInstPtr(anEventArray)->a_element[6] = __mkSmallInteger(cre->height); |
5350 __ArrayInstPtr(anEventArray)->a_element[6] = __mkSmallInteger(cre->height); |
5355 break; |
5351 break; |
5356 |
5352 |
5357 case DestroyNotify: |
5353 case DestroyNotify: |
5358 __ArrayInstPtr(anEventArray)->a_element[2] = @symbol(destroyedView:); |
5354 __ArrayInstPtr(anEventArray)->a_element[2] = @symbol(destroyedView:); |
5359 break; |
5355 break; |
5360 |
5356 |
5361 case UnmapNotify: |
5357 case UnmapNotify: |
5362 __ArrayInstPtr(anEventArray)->a_element[2] = @symbol(unmappedView:); |
5358 __ArrayInstPtr(anEventArray)->a_element[2] = @symbol(unmappedView:); |
5363 break; |
5359 break; |
5364 |
5360 |
5365 case MapNotify: |
5361 case MapNotify: |
5366 __ArrayInstPtr(anEventArray)->a_element[2] = @symbol(mappedView:); |
5362 __ArrayInstPtr(anEventArray)->a_element[2] = @symbol(mappedView:); |
5367 break; |
5363 break; |
5368 |
5364 |
5369 case ConfigureNotify: |
5365 case ConfigureNotify: |
5370 __ArrayInstPtr(anEventArray)->a_element[2] = @symbol(configure:x:y:width:height:above:); |
5366 __ArrayInstPtr(anEventArray)->a_element[2] = @symbol(configure:x:y:width:height:above:); |
5371 __ArrayInstPtr(anEventArray)->a_element[3] = __mkSmallInteger(ce->x); |
5367 __ArrayInstPtr(anEventArray)->a_element[3] = __mkSmallInteger(ce->x); |
5372 __ArrayInstPtr(anEventArray)->a_element[4] = __mkSmallInteger(ce->y); |
5368 __ArrayInstPtr(anEventArray)->a_element[4] = __mkSmallInteger(ce->y); |
5373 __ArrayInstPtr(anEventArray)->a_element[5] = __mkSmallInteger(ce->width); |
5369 __ArrayInstPtr(anEventArray)->a_element[5] = __mkSmallInteger(ce->width); |
5374 __ArrayInstPtr(anEventArray)->a_element[6] = __mkSmallInteger(ce->height); |
5370 __ArrayInstPtr(anEventArray)->a_element[6] = __mkSmallInteger(ce->height); |
5375 __ArrayInstPtr(anEventArray)->a_element[7] = nil; |
5371 __ArrayInstPtr(anEventArray)->a_element[7] = nil; |
5376 if (ce->above != None) { |
5372 if (ce->above != None) { |
5377 __ArrayInstPtr(anEventArray)->a_element[7] = t = __MKEXTERNALADDRESS(ce->above); __STORE(anEventArray, t); |
5373 __ArrayInstPtr(anEventArray)->a_element[7] = t = __MKEXTERNALADDRESS(ce->above); __STORE(anEventArray, t); |
5378 } |
5374 } |
5379 break; |
5375 break; |
5380 |
5376 |
5381 case GravityNotify: |
5377 case GravityNotify: |
5382 __ArrayInstPtr(anEventArray)->a_element[2] = @symbol(gravityNotify:x:y:); |
5378 __ArrayInstPtr(anEventArray)->a_element[2] = @symbol(gravityNotify:x:y:); |
5383 __ArrayInstPtr(anEventArray)->a_element[3] = __mkSmallInteger(gre->x); |
5379 __ArrayInstPtr(anEventArray)->a_element[3] = __mkSmallInteger(gre->x); |
5384 __ArrayInstPtr(anEventArray)->a_element[4] = __mkSmallInteger(gre->y); |
5380 __ArrayInstPtr(anEventArray)->a_element[4] = __mkSmallInteger(gre->y); |
5385 break; |
5381 break; |
5386 |
5382 |
5387 case ResizeRequest: |
5383 case ResizeRequest: |
5388 __ArrayInstPtr(anEventArray)->a_element[2] = @symbol(resizeRequest:width:height:); |
5384 __ArrayInstPtr(anEventArray)->a_element[2] = @symbol(resizeRequest:width:height:); |
5389 __ArrayInstPtr(anEventArray)->a_element[3] = __mkSmallInteger(rr->width); |
5385 __ArrayInstPtr(anEventArray)->a_element[3] = __mkSmallInteger(rr->width); |
5390 __ArrayInstPtr(anEventArray)->a_element[4] = __mkSmallInteger(rr->height); |
5386 __ArrayInstPtr(anEventArray)->a_element[4] = __mkSmallInteger(rr->height); |
5391 break; |
5387 break; |
5392 |
5388 |
5393 case ConfigureRequest: |
5389 case ConfigureRequest: |
5394 __ArrayInstPtr(anEventArray)->a_element[2] = @symbol(configureRequest:x:y:width:height:above:detail:); |
5390 __ArrayInstPtr(anEventArray)->a_element[2] = @symbol(configureRequest:x:y:width:height:above:detail:); |
5395 __ArrayInstPtr(anEventArray)->a_element[3] = __mkSmallInteger(cr->x); |
5391 __ArrayInstPtr(anEventArray)->a_element[3] = __mkSmallInteger(cr->x); |
5396 __ArrayInstPtr(anEventArray)->a_element[4] = __mkSmallInteger(cr->y); |
5392 __ArrayInstPtr(anEventArray)->a_element[4] = __mkSmallInteger(cr->y); |
5397 __ArrayInstPtr(anEventArray)->a_element[5] = __mkSmallInteger(cr->width); |
5393 __ArrayInstPtr(anEventArray)->a_element[5] = __mkSmallInteger(cr->width); |
5398 __ArrayInstPtr(anEventArray)->a_element[6] = __mkSmallInteger(cr->height); |
5394 __ArrayInstPtr(anEventArray)->a_element[6] = __mkSmallInteger(cr->height); |
5399 __ArrayInstPtr(anEventArray)->a_element[7] = nil; |
5395 __ArrayInstPtr(anEventArray)->a_element[7] = nil; |
5400 if (cr->above != None) { |
5396 if (cr->above != None) { |
5401 __ArrayInstPtr(anEventArray)->a_element[7] = t = __MKEXTERNALADDRESS(cr->above); __STORE(anEventArray, t); |
5397 __ArrayInstPtr(anEventArray)->a_element[7] = t = __MKEXTERNALADDRESS(cr->above); __STORE(anEventArray, t); |
5402 } |
5398 } |
5403 switch (cr->detail) { |
5399 switch (cr->detail) { |
5404 case Above: |
5400 case Above: |
5405 __ArrayInstPtr(anEventArray)->a_element[8] = @symbol(above); |
5401 __ArrayInstPtr(anEventArray)->a_element[8] = @symbol(above); |
5406 break; |
5402 break; |
5407 case Below: |
5403 case Below: |
5408 __ArrayInstPtr(anEventArray)->a_element[8] = @symbol(below); |
5404 __ArrayInstPtr(anEventArray)->a_element[8] = @symbol(below); |
5409 break; |
5405 break; |
5410 case TopIf: |
5406 case TopIf: |
5411 __ArrayInstPtr(anEventArray)->a_element[8] = @symbol(topIf); |
5407 __ArrayInstPtr(anEventArray)->a_element[8] = @symbol(topIf); |
5412 break; |
5408 break; |
5413 case BottomIf: |
5409 case BottomIf: |
5414 __ArrayInstPtr(anEventArray)->a_element[8] = @symbol(bottomIf); |
5410 __ArrayInstPtr(anEventArray)->a_element[8] = @symbol(bottomIf); |
5415 break; |
5411 break; |
5416 case Opposite: |
5412 case Opposite: |
5417 __ArrayInstPtr(anEventArray)->a_element[8] = @symbol(opposite); |
5413 __ArrayInstPtr(anEventArray)->a_element[8] = @symbol(opposite); |
5418 break; |
5414 break; |
5419 default: |
5415 default: |
5420 __ArrayInstPtr(anEventArray)->a_element[8] = __MKSMALLINT(cr->detail); |
5416 __ArrayInstPtr(anEventArray)->a_element[8] = __MKSMALLINT(cr->detail); |
5421 break; |
5417 break; |
5422 } |
5418 } |
5423 break; |
5419 break; |
5424 |
5420 |
5425 case CirculateNotify: |
5421 case CirculateNotify: |
5426 __ArrayInstPtr(anEventArray)->a_element[2] = @symbol(circulateNotify:place:); |
5422 __ArrayInstPtr(anEventArray)->a_element[2] = @symbol(circulateNotify:place:); |
5427 goto circulate; |
5423 goto circulate; |
5428 |
5424 |
5429 case CirculateRequest: |
5425 case CirculateRequest: |
5430 __ArrayInstPtr(anEventArray)->a_element[2] = @symbol(circulateRequest:place:); |
5426 __ArrayInstPtr(anEventArray)->a_element[2] = @symbol(circulateRequest:place:); |
5431 /* fall into */ |
5427 /* fall into */ |
5432 circulate: |
5428 circulate: |
5433 switch (cie->place) { |
5429 switch (cie->place) { |
5434 case PlaceOnTop: |
5430 case PlaceOnTop: |
5435 __ArrayInstPtr(anEventArray)->a_element[3] = @symbol(placeOnTop); |
5431 __ArrayInstPtr(anEventArray)->a_element[3] = @symbol(placeOnTop); |
5436 break; |
5432 break; |
5437 case PlaceOnBottom: |
5433 case PlaceOnBottom: |
5438 __ArrayInstPtr(anEventArray)->a_element[3] = @symbol(placeOnBottom); |
5434 __ArrayInstPtr(anEventArray)->a_element[3] = @symbol(placeOnBottom); |
5439 break; |
5435 break; |
5440 default: |
5436 default: |
5441 __ArrayInstPtr(anEventArray)->a_element[3] = __MKSMALLINT(cie->place); |
5437 __ArrayInstPtr(anEventArray)->a_element[3] = __MKSMALLINT(cie->place); |
5442 break; |
5438 break; |
5443 } |
5439 } |
5444 break; |
5440 break; |
5445 |
5441 |
5446 case PropertyNotify: |
5442 case PropertyNotify: |
5447 __ArrayInstPtr(anEventArray)->a_element[2] = @symbol(propertyChange:atom:state:time:); |
5443 __ArrayInstPtr(anEventArray)->a_element[2] = @symbol(propertyChange:atom:state:time:); |
5448 __ArrayInstPtr(anEventArray)->a_element[3] = __MKATOMOBJ(pe->atom); |
5444 __ArrayInstPtr(anEventArray)->a_element[3] = __MKATOMOBJ(pe->atom); |
5449 switch (pe->state) { |
5445 switch (pe->state) { |
5450 case PropertyNewValue: |
5446 case PropertyNewValue: |
5451 __ArrayInstPtr(anEventArray)->a_element[4] = @symbol(newValue); |
5447 __ArrayInstPtr(anEventArray)->a_element[4] = @symbol(newValue); |
5452 break; |
5448 break; |
5453 case PropertyDelete: |
5449 case PropertyDelete: |
5454 __ArrayInstPtr(anEventArray)->a_element[4] = @symbol(deleted); |
5450 __ArrayInstPtr(anEventArray)->a_element[4] = @symbol(deleted); |
5455 break; |
5451 break; |
5456 default: |
5452 default: |
5457 __ArrayInstPtr(anEventArray)->a_element[4] = __MKSMALLINT(pe->state); |
5453 __ArrayInstPtr(anEventArray)->a_element[4] = __MKSMALLINT(pe->state); |
5458 break; |
5454 break; |
5459 } |
5455 } |
5460 __ArrayInstPtr(anEventArray)->a_element[5] = t = __MKUINT(pe->time); __STORE(anEventArray, t); |
5456 __ArrayInstPtr(anEventArray)->a_element[5] = t = __MKUINT(pe->time); __STORE(anEventArray, t); |
5461 break; |
5457 break; |
5462 |
5458 |
5463 case SelectionClear: |
5459 case SelectionClear: |
5464 __ArrayInstPtr(anEventArray)->a_element[2] = @symbol(selectionClear:atom:time:); |
5460 __ArrayInstPtr(anEventArray)->a_element[2] = @symbol(selectionClear:atom:time:); |
5465 __ArrayInstPtr(anEventArray)->a_element[3] = __MKATOMOBJ(sce->selection); |
5461 __ArrayInstPtr(anEventArray)->a_element[3] = __MKATOMOBJ(sce->selection); |
5466 __ArrayInstPtr(anEventArray)->a_element[4] = t = __MKUINT(sce->time); __STORE(anEventArray, t); |
5462 __ArrayInstPtr(anEventArray)->a_element[4] = t = __MKUINT(sce->time); __STORE(anEventArray, t); |
5467 break; |
5463 break; |
5468 |
5464 |
5469 case SelectionRequest: |
5465 case SelectionRequest: |
5470 /* |
5466 /* |
5471 * someone wants the selection |
5467 * someone wants the selection |
5472 */ |
5468 */ |
5473 __ArrayInstPtr(anEventArray)->a_element[2] = @symbol(selectionRequest:requestor:selection:target:property:time:); |
5469 __ArrayInstPtr(anEventArray)->a_element[2] = @symbol(selectionRequest:requestor:selection:target:property:time:); |
5474 __ArrayInstPtr(anEventArray)->a_element[3] = t = __MKEXTERNALADDRESS(ev.xselectionrequest.requestor); __STORE(anEventArray, t); |
5470 __ArrayInstPtr(anEventArray)->a_element[3] = t = __MKEXTERNALADDRESS(ev.xselectionrequest.requestor); __STORE(anEventArray, t); |
5475 __ArrayInstPtr(anEventArray)->a_element[4] = __MKATOMOBJ(ev.xselectionrequest.selection); |
5471 __ArrayInstPtr(anEventArray)->a_element[4] = __MKATOMOBJ(ev.xselectionrequest.selection); |
5476 __ArrayInstPtr(anEventArray)->a_element[5] = __MKATOMOBJ(ev.xselectionrequest.target); |
5472 __ArrayInstPtr(anEventArray)->a_element[5] = __MKATOMOBJ(ev.xselectionrequest.target); |
5477 __ArrayInstPtr(anEventArray)->a_element[6] = __MKATOMOBJ(ev.xselectionrequest.property); |
5473 __ArrayInstPtr(anEventArray)->a_element[6] = __MKATOMOBJ(ev.xselectionrequest.property); |
5478 __ArrayInstPtr(anEventArray)->a_element[7] = t = __MKUINT(ev.xselectionrequest.time); __STORE(anEventArray, t); |
5474 __ArrayInstPtr(anEventArray)->a_element[7] = t = __MKUINT(ev.xselectionrequest.time); __STORE(anEventArray, t); |
5479 break; |
5475 break; |
5480 |
5476 |
5481 case SelectionNotify: |
5477 case SelectionNotify: |
5482 /* |
5478 /* |
5483 * returned selection value (answer from SelectionRequest) |
5479 * returned selection value (answer from SelectionRequest) |
5484 */ |
5480 */ |
5485 __ArrayInstPtr(anEventArray)->a_element[2] = @symbol(selectionNotify:selection:target:property:requestor:time:); |
5481 __ArrayInstPtr(anEventArray)->a_element[2] = @symbol(selectionNotify:selection:target:property:requestor:time:); |
5486 __ArrayInstPtr(anEventArray)->a_element[3] = __MKATOMOBJ(ev.xselection.selection); |
5482 __ArrayInstPtr(anEventArray)->a_element[3] = __MKATOMOBJ(ev.xselection.selection); |
5487 __ArrayInstPtr(anEventArray)->a_element[4] = __MKATOMOBJ(ev.xselection.target); |
5483 __ArrayInstPtr(anEventArray)->a_element[4] = __MKATOMOBJ(ev.xselection.target); |
5488 __ArrayInstPtr(anEventArray)->a_element[5] = __MKATOMOBJ(ev.xselection.property); |
5484 __ArrayInstPtr(anEventArray)->a_element[5] = __MKATOMOBJ(ev.xselection.property); |
5489 __ArrayInstPtr(anEventArray)->a_element[6] = t = __MKEXTERNALADDRESS(ev.xselection.requestor); __STORE(anEventArray, t); |
5485 __ArrayInstPtr(anEventArray)->a_element[6] = t = __MKEXTERNALADDRESS(ev.xselection.requestor); __STORE(anEventArray, t); |
5490 __ArrayInstPtr(anEventArray)->a_element[7] = t = __MKUINT(ev.xselection.time); __STORE(anEventArray, t); |
5486 __ArrayInstPtr(anEventArray)->a_element[7] = t = __MKUINT(ev.xselection.time); __STORE(anEventArray, t); |
5491 break; |
5487 break; |
5492 |
5488 |
5493 case ColormapNotify: |
5489 case ColormapNotify: |
5494 __ArrayInstPtr(anEventArray)->a_element[2] = @symbol(colormapNotify:state:); |
5490 __ArrayInstPtr(anEventArray)->a_element[2] = @symbol(colormapNotify:state:); |
5495 __ArrayInstPtr(anEventArray)->a_element[3] = cme->state == ColormapInstalled ? true : false; |
5491 __ArrayInstPtr(anEventArray)->a_element[3] = cme->state == ColormapInstalled ? true : false; |
5496 break; |
5492 break; |
5497 |
5493 |
5498 case ClientMessage: |
5494 case ClientMessage: |
5499 if (ev.xclient.message_type == (int) __AtomVal(__INST(protocolsAtom))) { |
5495 if (ev.xclient.message_type == (int) __AtomVal(__INST(protocolsAtom))) { |
5500 if ((ev.xclient.data.l[0] == (int) __AtomVal(__INST(quitAppAtom))) |
5496 if ((ev.xclient.data.l[0] == (int) __AtomVal(__INST(quitAppAtom))) |
5501 || (ev.xclient.data.l[0] == (int) __AtomVal(__INST(deleteWindowAtom)))) { |
5497 || (ev.xclient.data.l[0] == (int) __AtomVal(__INST(deleteWindowAtom)))) { |
5502 __ArrayInstPtr(anEventArray)->a_element[2] = @symbol(terminateView:); |
5498 __ArrayInstPtr(anEventArray)->a_element[2] = @symbol(terminateView:); |
5503 break; |
5499 break; |
5504 } |
5500 } |
5505 if (ev.xclient.data.l[0] == (int) __AtomVal(__INST(saveYourselfAtom))) { |
5501 if (ev.xclient.data.l[0] == (int) __AtomVal(__INST(saveYourselfAtom))) { |
5506 __ArrayInstPtr(anEventArray)->a_element[2] = @symbol(saveAndTerminateView:); |
5502 __ArrayInstPtr(anEventArray)->a_element[2] = @symbol(saveAndTerminateView:); |
5507 break; |
5503 break; |
5508 } |
5504 } |
5509 } |
5505 } |
5510 /* |
5506 /* |
5511 * any other client message |
5507 * any other client message |
5512 */ |
5508 */ |
5513 printf("clientMessage type:%d format:%d\n", ev.xclient.message_type, ev.xclient.format); |
5509 printf("clientMessage type:%d format:%d\n", ev.xclient.message_type, ev.xclient.format); |
5514 __ArrayInstPtr(anEventArray)->a_element[2] = @symbol(clientMessage:type:format:data:); |
5510 __ArrayInstPtr(anEventArray)->a_element[2] = @symbol(clientMessage:type:format:data:); |
5515 __ArrayInstPtr(anEventArray)->a_element[3] = __MKATOMOBJ(ev.xclient.message_type); |
5511 __ArrayInstPtr(anEventArray)->a_element[3] = __MKATOMOBJ(ev.xclient.message_type); |
5516 __ArrayInstPtr(anEventArray)->a_element[4] = __MKSMALLINT(ev.xclient.format); |
5512 __ArrayInstPtr(anEventArray)->a_element[4] = __MKSMALLINT(ev.xclient.format); |
5517 __ArrayInstPtr(anEventArray)->a_element[5] = t = __MKBYTEARRAY(ev.xclient.data, sizeof(ev.xclient.data)); __STORE(anEventArray, t); |
5513 __ArrayInstPtr(anEventArray)->a_element[5] = t = __MKBYTEARRAY(ev.xclient.data, sizeof(ev.xclient.data)); __STORE(anEventArray, t); |
5518 break; |
5514 break; |
5519 |
5515 |
5520 case MappingNotify: |
5516 case MappingNotify: |
5521 __ArrayInstPtr(anEventArray)->a_element[2] = @symbol(mappingNotify:request:event:); |
5517 __ArrayInstPtr(anEventArray)->a_element[2] = @symbol(mappingNotify:request:event:); |
5522 switch(mape->request) { |
5518 switch(mape->request) { |
5523 case MappingModifier: |
5519 case MappingModifier: |
5524 arg = @symbol(mappingModifier); |
5520 arg = @symbol(mappingModifier); |
5525 break; |
5521 break; |
5526 case MappingKeyboard: |
5522 case MappingKeyboard: |
5527 arg = @symbol(mappingKeyboard); |
5523 arg = @symbol(mappingKeyboard); |
5528 break; |
5524 break; |
5529 case MappingPointer: |
5525 case MappingPointer: |
5530 arg = @symbol(mappingPointer); |
5526 arg = @symbol(mappingPointer); |
5531 break; |
5527 break; |
5532 default: |
5528 default: |
5533 arg = __MKSMALLINT(mape->request); |
5529 arg = __MKSMALLINT(mape->request); |
5534 break; |
5530 break; |
5535 } |
5531 } |
5536 __ArrayInstPtr(anEventArray)->a_element[3] = arg; |
5532 __ArrayInstPtr(anEventArray)->a_element[3] = arg; |
5537 __ArrayInstPtr(anEventArray)->a_element[4] = t = __MKBYTEARRAY(&ev, sizeof(*mape)); |
5533 __ArrayInstPtr(anEventArray)->a_element[4] = t = __MKBYTEARRAY(&ev, sizeof(*mape)); |
5538 __STORE(anEventArray, t); |
5534 __STORE(anEventArray, t); |
5539 break; |
5535 break; |
5540 |
5536 |
5541 case KeymapNotify: |
5537 case KeymapNotify: |
5542 __ArrayInstPtr(anEventArray)->a_element[2] = @symbol(keymapNotify:); |
5538 __ArrayInstPtr(anEventArray)->a_element[2] = @symbol(keymapNotify:); |
5543 break; |
5539 break; |
5544 |
5540 |
5545 case MapRequest: |
5541 case MapRequest: |
5546 __ArrayInstPtr(anEventArray)->a_element[2] = @symbol(mapRequest:); |
5542 __ArrayInstPtr(anEventArray)->a_element[2] = @symbol(mapRequest:); |
5547 break; |
5543 break; |
5548 |
5544 |
5549 case ReparentNotify: |
5545 case ReparentNotify: |
5550 __ArrayInstPtr(anEventArray)->a_element[2] = @symbol(reparentedView:); |
5546 __ArrayInstPtr(anEventArray)->a_element[2] = @symbol(reparentedView:); |
5551 break; |
5547 break; |
5552 |
5548 |
5553 default: |
5549 default: |
5554 __ArrayInstPtr(anEventArray)->a_element[2] = @symbol(unknownX11Event); |
5550 __ArrayInstPtr(anEventArray)->a_element[2] = @symbol(unknownX11Event); |
5555 break; |
5551 break; |
5556 } |
5552 } |
5557 #undef ae |
5553 #undef ae |
5558 #undef ee |
5554 #undef ee |
5559 #undef ke |
5555 #undef ke |
5560 #undef be |
5556 #undef be |