… | |
… | |
486 | RETVAL |
486 | RETVAL |
487 | |
487 | |
488 | void |
488 | void |
489 | SDL_GL_SwapBuffers () |
489 | SDL_GL_SwapBuffers () |
490 | |
490 | |
|
|
491 | char * |
|
|
492 | SDL_GetKeyName (int sym) |
|
|
493 | |
491 | void |
494 | void |
492 | SDL_PollEvent () |
495 | SDL_PollEvent () |
493 | PPCODE: |
496 | PPCODE: |
494 | { |
497 | { |
495 | SDL_Event ev; |
498 | SDL_Event ev; |
… | |
… | |
513 | hv_store (hv, "gain", 4, newSViv (ev.active.gain), 0); |
516 | hv_store (hv, "gain", 4, newSViv (ev.active.gain), 0); |
514 | hv_store (hv, "state", 5, newSViv (ev.active.state), 0); |
517 | hv_store (hv, "state", 5, newSViv (ev.active.state), 0); |
515 | break; |
518 | break; |
516 | |
519 | |
517 | case SDL_MOUSEMOTION: |
520 | case SDL_MOUSEMOTION: |
|
|
521 | hv_store (hv, "mod", 3, newSViv (SDL_GetModState ()), 0); |
|
|
522 | |
518 | hv_store (hv, "state", 5, newSViv (ev.motion.state), 0); |
523 | hv_store (hv, "state", 5, newSViv (ev.motion.state), 0); |
519 | hv_store (hv, "x", 1, newSViv (ev.motion.x), 0); |
524 | hv_store (hv, "x", 1, newSViv (ev.motion.x), 0); |
520 | hv_store (hv, "y", 1, newSViv (ev.motion.y), 0); |
525 | hv_store (hv, "y", 1, newSViv (ev.motion.y), 0); |
521 | hv_store (hv, "xrel", 4, newSViv (ev.motion.xrel), 0); |
526 | hv_store (hv, "xrel", 4, newSViv (ev.motion.xrel), 0); |
522 | hv_store (hv, "yrel", 4, newSViv (ev.motion.yrel), 0); |
527 | hv_store (hv, "yrel", 4, newSViv (ev.motion.yrel), 0); |
523 | break; |
528 | break; |
524 | |
529 | |
525 | case SDL_MOUSEBUTTONDOWN: |
530 | case SDL_MOUSEBUTTONDOWN: |
526 | case SDL_MOUSEBUTTONUP: |
531 | case SDL_MOUSEBUTTONUP: |
|
|
532 | hv_store (hv, "mod", 3, newSViv (SDL_GetModState ()), 0); |
|
|
533 | |
527 | hv_store (hv, "button", 6, newSViv (ev.button.button), 0); |
534 | hv_store (hv, "button", 6, newSViv (ev.button.button), 0); |
528 | hv_store (hv, "state", 5, newSViv (ev.button.state), 0); |
535 | hv_store (hv, "state", 5, newSViv (ev.button.state), 0); |
529 | hv_store (hv, "x", 1, newSViv (ev.button.x), 0); |
536 | hv_store (hv, "x", 1, newSViv (ev.button.x), 0); |
530 | hv_store (hv, "y", 1, newSViv (ev.button.y), 0); |
537 | hv_store (hv, "y", 1, newSViv (ev.button.y), 0); |
531 | break; |
538 | break; |
… | |
… | |
724 | |
731 | |
725 | CFClient::Layout |
732 | CFClient::Layout |
726 | new (SV *class, int rgba = 0) |
733 | new (SV *class, int rgba = 0) |
727 | CODE: |
734 | CODE: |
728 | #if _WIN32 |
735 | #if _WIN32 |
729 | rgba = 0;//D |
736 | //rgba = 0;//D make stext nicer, breaks TextView |
730 | #endif |
737 | #endif |
731 | New (0, RETVAL, 1, struct cf_layout); |
738 | New (0, RETVAL, 1, struct cf_layout); |
732 | |
739 | |
733 | RETVAL->pl = pango_layout_new (rgba ? cairo_context : ft2_context); |
740 | RETVAL->pl = pango_layout_new (rgba ? cairo_context : ft2_context); |
734 | RETVAL->rgba = rgba; |
741 | RETVAL->rgba = rgba; |
… | |
… | |
1090 | tex->r = r; |
1097 | tex->r = r; |
1091 | tex->g = g; |
1098 | tex->g = g; |
1092 | tex->b = b; |
1099 | tex->b = b; |
1093 | tex->a = a; |
1100 | tex->a = a; |
1094 | } |
1101 | } |
|
|
1102 | |
|
|
1103 | // somewhat hackish, but for textures that require it, it really |
|
|
1104 | // improves the look, and most others don't suffer. |
|
|
1105 | glBindTexture (GL_TEXTURE_2D, name); |
|
|
1106 | glTexParameteri (GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT); |
|
|
1107 | glTexParameteri (GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT); |
1095 | } |
1108 | } |
1096 | |
1109 | |
1097 | int |
1110 | int |
1098 | ox (CFClient::Map self) |
1111 | ox (CFClient::Map self) |
1099 | ALIAS: |
1112 | ALIAS: |