--- deliantra/Deliantra-Client/Client.xs 2006/05/14 22:24:14 1.79 +++ deliantra/Deliantra-Client/Client.xs 2006/05/19 03:49:47 1.85 @@ -9,6 +9,7 @@ #include "perl.h" #include "XSUB.h" +#include #include #include @@ -85,7 +86,11 @@ substitute_func (FcPattern *pattern, gpointer data) { FcPatternAddBool (pattern, FC_HINTING , 1); +#ifdef _WIN32 FcPatternAddBool (pattern, FC_AUTOHINT, 1); +#else + FcPatternAddBool (pattern, FC_AUTOHINT, 0); +#endif } static void @@ -440,14 +445,15 @@ SDL_GL_SetAttribute (SDL_GL_BLUE_SIZE, 5); SDL_GL_SetAttribute (SDL_GL_ALPHA_SIZE, 1); + SDL_GL_SetAttribute (SDL_GL_BUFFER_SIZE, 15); + SDL_GL_SetAttribute (SDL_GL_DEPTH_SIZE, 0); + SDL_GL_SetAttribute (SDL_GL_ACCUM_RED_SIZE, 0); SDL_GL_SetAttribute (SDL_GL_ACCUM_GREEN_SIZE, 0); SDL_GL_SetAttribute (SDL_GL_ACCUM_BLUE_SIZE, 0); SDL_GL_SetAttribute (SDL_GL_ACCUM_ALPHA_SIZE, 0); SDL_GL_SetAttribute (SDL_GL_DOUBLEBUFFER, 1); - SDL_GL_SetAttribute (SDL_GL_BUFFER_SIZE, 15); - SDL_GL_SetAttribute (SDL_GL_DEPTH_SIZE, 0); SDL_EnableUNICODE (1); SDL_EnableKeyRepeat (SDL_DEFAULT_REPEAT_DELAY, SDL_DEFAULT_REPEAT_INTERVAL); @@ -800,6 +806,31 @@ pango_layout_set_width (self->pl, max_width < 0 ? max_width : max_width * PANGO_SCALE); void +set_indent (CFClient::Layout self, int indent) + CODE: + pango_layout_set_indent (self->pl, indent * PANGO_SCALE); + +void +set_spacing (CFClient::Layout self, int spacing) + CODE: + pango_layout_set_spacing (self->pl, spacing * PANGO_SCALE); + +void +set_ellipsise (CFClient::Layout self, int ellipsise) + CODE: + pango_layout_set_ellipsize (self->pl, + ellipsise == 1 ? PANGO_ELLIPSIZE_START + : ellipsise == 2 ? PANGO_ELLIPSIZE_MIDDLE + : ellipsise == 3 ? PANGO_ELLIPSIZE_END + : PANGO_ELLIPSIZE_NONE + ); + +void +set_single_paragraph_mode (CFClient::Layout self, int spm) + CODE: + pango_layout_set_single_paragraph_mode (self->pl, !!spm); + +void size (CFClient::Layout self) PPCODE: { @@ -1591,8 +1622,10 @@ void glColor (float r, float g, float b, float a = 1.0) PROTOTYPE: @ CODE: - // 255.999 is close enough to correctness (256 and clamp) - glColor4ub (r * 255.999, g * 255.999, b * 255.999, a * 255.999); + glColor4ub (MIN ((int)(r * 255.f), 255), + MIN ((int)(g * 255.f), 255), + MIN ((int)(b * 255.f), 255), + MIN ((int)(a * 255.f), 255)); void glVertex (float x, float y, float z = 0.) CODE: