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.79 by root, Sun May 14 22:24:14 2006 UTC vs.
Revision 1.84 by root, Wed May 17 15:18:57 2006 UTC

7 7
8#include "EXTERN.h" 8#include "EXTERN.h"
9#include "perl.h" 9#include "perl.h"
10#include "XSUB.h" 10#include "XSUB.h"
11 11
12#include <math.h>
12#include <string.h> 13#include <string.h>
13#include <stdio.h> 14#include <stdio.h>
14 15
15#include <SDL.h> 16#include <SDL.h>
16#include <SDL_endian.h> 17#include <SDL_endian.h>
83 84
84static void 85static void
85substitute_func (FcPattern *pattern, gpointer data) 86substitute_func (FcPattern *pattern, gpointer data)
86{ 87{
87 FcPatternAddBool (pattern, FC_HINTING , 1); 88 FcPatternAddBool (pattern, FC_HINTING , 1);
89#ifdef _WIN32
88 FcPatternAddBool (pattern, FC_AUTOHINT, 1); 90 FcPatternAddBool (pattern, FC_AUTOHINT, 1);
91#else
92 FcPatternAddBool (pattern, FC_AUTOHINT, 0);
93#endif
89} 94}
90 95
91static void 96static void
92layout_update_font (CFClient__Layout self) 97layout_update_font (CFClient__Layout self)
93{ 98{
798set_width (CFClient::Layout self, int max_width = -1) 803set_width (CFClient::Layout self, int max_width = -1)
799 CODE: 804 CODE:
800 pango_layout_set_width (self->pl, max_width < 0 ? max_width : max_width * PANGO_SCALE); 805 pango_layout_set_width (self->pl, max_width < 0 ? max_width : max_width * PANGO_SCALE);
801 806
802void 807void
808set_indent (CFClient::Layout self, int indent)
809 CODE:
810 pango_layout_set_indent (self->pl, indent * PANGO_SCALE);
811
812void
813set_spacing (CFClient::Layout self, int spacing)
814 CODE:
815 pango_layout_set_spacing (self->pl, spacing * PANGO_SCALE);
816
817void
818set_ellipsise (CFClient::Layout self, int ellipsise)
819 CODE:
820 pango_layout_set_ellipsize (self->pl,
821 ellipsise == 1 ? PANGO_ELLIPSIZE_START
822 : ellipsise == 2 ? PANGO_ELLIPSIZE_MIDDLE
823 : ellipsise == 3 ? PANGO_ELLIPSIZE_END
824 : PANGO_ELLIPSIZE_NONE
825 );
826
827void
828set_single_paragraph_mode (CFClient::Layout self, int spm)
829 CODE:
830 pango_layout_set_single_paragraph_mode (self->pl, !!spm);
831
832void
803size (CFClient::Layout self) 833size (CFClient::Layout self)
804 PPCODE: 834 PPCODE:
805{ 835{
806 int w, h; 836 int w, h;
807 837
1589void glEnd () 1619void glEnd ()
1590 1620
1591void glColor (float r, float g, float b, float a = 1.0) 1621void glColor (float r, float g, float b, float a = 1.0)
1592 PROTOTYPE: @ 1622 PROTOTYPE: @
1593 CODE: 1623 CODE:
1594 // 255.999 is close enough to correctness (256 and clamp) 1624 glColor4ub (MIN ((int)(r * 255.f), 255),
1595 glColor4ub (r * 255.999, g * 255.999, b * 255.999, a * 255.999); 1625 MIN ((int)(g * 255.f), 255),
1626 MIN ((int)(b * 255.f), 255),
1627 MIN ((int)(a * 255.f), 255));
1596 1628
1597void glVertex (float x, float y, float z = 0.) 1629void glVertex (float x, float y, float z = 0.)
1598 CODE: 1630 CODE:
1599 glVertex3f (x, y, z); 1631 glVertex3f (x, y, z);
1600 1632

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines