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.204 by root, Thu Jul 19 14:54:50 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
933#endif 973#endif
934} 974}
935 975
936MODULE = CFPlus PACKAGE = CFPlus::Font 976MODULE = CFPlus PACKAGE = CFPlus::Font
937 977
978PROTOTYPES: DISABLE
979
938CFPlus::Font 980CFPlus::Font
939new_from_file (SV *class, char *path, int id = 0) 981new_from_file (SV *class, char *path, int id = 0)
940 CODE: 982 CODE:
941{ 983{
942 int count; 984 int count;
952 CODE: 994 CODE:
953 pango_font_description_free (self); 995 pango_font_description_free (self);
954 996
955void 997void
956make_default (CFPlus::Font self) 998make_default (CFPlus::Font self)
999 PROTOTYPE: $
957 CODE: 1000 CODE:
958 default_font = self; 1001 default_font = self;
959 1002
960MODULE = CFPlus PACKAGE = CFPlus::Layout 1003MODULE = CFPlus PACKAGE = CFPlus::Layout
961 1004
1005PROTOTYPES: DISABLE
1006
962void 1007void
963reset_glyph_cache () 1008reset_glyph_cache ()
1009 PROTOTYPE:
964 CODE: 1010 CODE:
965 tc_clear (); 1011 tc_clear ();
966 1012
967CFPlus::Layout 1013CFPlus::Layout
968new (SV *class) 1014new (SV *class)
1255 flags 1301 flags
1256 ); 1302 );
1257 1303
1258MODULE = CFPlus PACKAGE = CFPlus::Texture 1304MODULE = CFPlus PACKAGE = CFPlus::Texture
1259 1305
1306PROTOTYPES: ENABLE
1307
1260int minpot (int n) 1308int minpot (int n)
1261 1309
1262void 1310void
1263pad (SV *data_, int ow, int oh, int nw, int nh) 1311pad (SV *data_, int ow, int oh, int nw, int nh)
1264 CODE: 1312 CODE:
1340} 1388}
1341 OUTPUT: 1389 OUTPUT:
1342 RETVAL 1390 RETVAL
1343 1391
1344MODULE = CFPlus PACKAGE = CFPlus::Map 1392MODULE = CFPlus PACKAGE = CFPlus::Map
1393
1394PROTOTYPES: DISABLE
1345 1395
1346CFPlus::Map 1396CFPlus::Map
1347new (SV *class) 1397new (SV *class)
1348 CODE: 1398 CODE:
1349 New (0, RETVAL, 1, struct map); 1399 New (0, RETVAL, 1, struct map);
2181 } 2231 }
2182} 2232}
2183 2233
2184MODULE = CFPlus PACKAGE = CFPlus::MixChunk 2234MODULE = CFPlus PACKAGE = CFPlus::MixChunk
2185 2235
2236PROTOTYPES: DISABLE
2237
2186CFPlus::MixChunk 2238CFPlus::MixChunk
2187new_from_file (SV *class, char *path) 2239new_from_file (SV *class, char *path)
2188 CODE: 2240 CODE:
2189 RETVAL = Mix_LoadWAV (path); 2241 RETVAL = Mix_LoadWAV (path);
2190 OUTPUT: 2242 OUTPUT:
2211 2263
2212MODULE = CFPlus PACKAGE = CFPlus::MixMusic 2264MODULE = CFPlus PACKAGE = CFPlus::MixMusic
2213 2265
2214int 2266int
2215volume (int volume = -1) 2267volume (int volume = -1)
2268 PROTOTYPE: ;$
2216 CODE: 2269 CODE:
2217 RETVAL = Mix_VolumeMusic (volume); 2270 RETVAL = Mix_VolumeMusic (volume);
2218 OUTPUT: 2271 OUTPUT:
2219 RETVAL 2272 RETVAL
2220 2273
2250 RETVAL = Mix_FadeInMusicPos (self, loops, ms, position); 2303 RETVAL = Mix_FadeInMusicPos (self, loops, ms, position);
2251 OUTPUT: 2304 OUTPUT:
2252 RETVAL 2305 RETVAL
2253 2306
2254MODULE = CFPlus PACKAGE = CFPlus::OpenGL 2307MODULE = CFPlus PACKAGE = CFPlus::OpenGL
2308
2309PROTOTYPES: ENABLE
2255 2310
2256BOOT: 2311BOOT:
2257{ 2312{
2258 HV *stash = gv_stashpv ("CFPlus::OpenGL", 1); 2313 HV *stash = gv_stashpv ("CFPlus::OpenGL", 1);
2259 static const struct { 2314 static const struct {
2275 const_iv (GL_ALPHA_TEST), 2330 const_iv (GL_ALPHA_TEST),
2276 const_iv (GL_NORMALIZE), 2331 const_iv (GL_NORMALIZE),
2277 const_iv (GL_RESCALE_NORMAL), 2332 const_iv (GL_RESCALE_NORMAL),
2278 const_iv (GL_FRONT), 2333 const_iv (GL_FRONT),
2279 const_iv (GL_BACK), 2334 const_iv (GL_BACK),
2335 const_iv (GL_AUX0),
2280 const_iv (GL_AND), 2336 const_iv (GL_AND),
2281 const_iv (GL_ONE), 2337 const_iv (GL_ONE),
2282 const_iv (GL_ZERO), 2338 const_iv (GL_ZERO),
2283 const_iv (GL_SRC_ALPHA), 2339 const_iv (GL_SRC_ALPHA),
2284 const_iv (GL_DST_ALPHA), 2340 const_iv (GL_DST_ALPHA),
2339 const_iv (GL_QUAD_STRIP), 2395 const_iv (GL_QUAD_STRIP),
2340 const_iv (GL_TRIANGLES), 2396 const_iv (GL_TRIANGLES),
2341 const_iv (GL_TRIANGLE_STRIP), 2397 const_iv (GL_TRIANGLE_STRIP),
2342 const_iv (GL_TRIANGLE_FAN), 2398 const_iv (GL_TRIANGLE_FAN),
2343 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),
2344 const_iv (GL_FASTEST), 2404 const_iv (GL_FASTEST),
2405 const_iv (GL_DONT_CARE),
2406 const_iv (GL_NICEST),
2345 const_iv (GL_V2F), 2407 const_iv (GL_V2F),
2346 const_iv (GL_V3F), 2408 const_iv (GL_V3F),
2347 const_iv (GL_T2F_V3F), 2409 const_iv (GL_T2F_V3F),
2348 const_iv (GL_T2F_N3F_V3F), 2410 const_iv (GL_T2F_N3F_V3F),
2349# undef const_iv 2411# undef const_iv
2550 2612
2551void glEndList () 2613void glEndList ()
2552 2614
2553void glCallList (int list) 2615void glCallList (int list)
2554 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