ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/Deliantra-Client/Client.xs
(Generate patch)

Comparing deliantra/Deliantra-Client/Client.xs (file contents):
Revision 1.205 by root, Thu Jul 19 22:38:52 2007 UTC vs.
Revision 1.207 by root, Fri Jul 20 18:19:45 2007 UTC

432} 432}
433 433
434/* SDL should provide this, really. */ 434/* SDL should provide this, really. */
435#define SDLK_MODIFIER_MIN 300 435#define SDLK_MODIFIER_MIN 300
436#define SDLK_MODIFIER_MAX 314 436#define SDLK_MODIFIER_MAX 314
437
438/******************************************************************************/
439
440static int
441within_widget (SV *widget, NV x, NV y)
442{
443 HV *self;
444 SV **svp;
445 NV wx, ww, wy, wh;
446
447 if (!SvROK (widget))
448 return 0;
449
450 self = (HV *)SvRV (widget);
451
452 if (SvTYPE (self) != SVt_PVHV)
453 return 0;
454
455 svp = hv_fetch (self, "y", 1, 0); wy = svp ? SvNV (*svp) : 0.;
456 if (y < wy)
457 return 0;
458
459 svp = hv_fetch (self, "h", 1, 0); wh = svp ? SvNV (*svp) : 0.;
460 if (y >= wy + wh)
461 return 0;
462
463 svp = hv_fetch (self, "x", 1, 0); wx = svp ? SvNV (*svp) : 0.;
464 if (x < wx)
465 return 0;
466
467 svp = hv_fetch (self, "w", 1, 0); ww = svp ? SvNV (*svp) : 0.;
468 if (x >= wx + ww)
469 return 0;
470
471 svp = hv_fetch (self, "can_events", sizeof ("can_events") - 1, 0);
472 if (!svp || !SvTRUE (*svp))
473 return 0;
474
475 return 1;
476}
437 477
438MODULE = CFPlus PACKAGE = CFPlus 478MODULE = CFPlus PACKAGE = CFPlus
439 479
440PROTOTYPES: ENABLE 480PROTOTYPES: ENABLE
441 481
2290 const_iv (GL_ALPHA_TEST), 2330 const_iv (GL_ALPHA_TEST),
2291 const_iv (GL_NORMALIZE), 2331 const_iv (GL_NORMALIZE),
2292 const_iv (GL_RESCALE_NORMAL), 2332 const_iv (GL_RESCALE_NORMAL),
2293 const_iv (GL_FRONT), 2333 const_iv (GL_FRONT),
2294 const_iv (GL_BACK), 2334 const_iv (GL_BACK),
2335 const_iv (GL_AUX0),
2295 const_iv (GL_AND), 2336 const_iv (GL_AND),
2296 const_iv (GL_ONE), 2337 const_iv (GL_ONE),
2297 const_iv (GL_ZERO), 2338 const_iv (GL_ZERO),
2298 const_iv (GL_SRC_ALPHA), 2339 const_iv (GL_SRC_ALPHA),
2299 const_iv (GL_DST_ALPHA), 2340 const_iv (GL_DST_ALPHA),
2354 const_iv (GL_QUAD_STRIP), 2395 const_iv (GL_QUAD_STRIP),
2355 const_iv (GL_TRIANGLES), 2396 const_iv (GL_TRIANGLES),
2356 const_iv (GL_TRIANGLE_STRIP), 2397 const_iv (GL_TRIANGLE_STRIP),
2357 const_iv (GL_TRIANGLE_FAN), 2398 const_iv (GL_TRIANGLE_FAN),
2358 const_iv (GL_PERSPECTIVE_CORRECTION_HINT), 2399 const_iv (GL_PERSPECTIVE_CORRECTION_HINT),
2400 const_iv (GL_POINT_SMOOTH_HINT),
2401 const_iv (GL_LINE_SMOOTH_HINT),
2402 const_iv (GL_POLYGON_SMOOTH_HINT),
2403 const_iv (GL_GENERATE_MIPMAP_HINT),
2359 const_iv (GL_FASTEST), 2404 const_iv (GL_FASTEST),
2405 const_iv (GL_DONT_CARE),
2406 const_iv (GL_NICEST),
2360 const_iv (GL_V2F), 2407 const_iv (GL_V2F),
2361 const_iv (GL_V3F), 2408 const_iv (GL_V3F),
2362 const_iv (GL_T2F_V3F), 2409 const_iv (GL_T2F_V3F),
2363 const_iv (GL_T2F_N3F_V3F), 2410 const_iv (GL_T2F_N3F_V3F),
2364# undef const_iv 2411# undef const_iv
2565 2612
2566void glEndList () 2613void glEndList ()
2567 2614
2568void glCallList (int list) 2615void glCallList (int list)
2569 2616
2617MODULE = CFPlus PACKAGE = CFPlus::UI::Base
2618
2619PROTOTYPES: DISABLE
2620
2621void
2622find_widget (SV *widget, NV x, NV y)
2623 PPCODE:
2624{
2625 if (within_widget (widget, x, y))
2626 XPUSHs (widget);
2627}
2628

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines