changeset 811:f5a5648dfbd7

include the API additions of Guillaume Cottenceau for package sdl_pango The original source of the API additions is: http://zarb.org/~gc/t/SDL_Pango-0.1.2-API-adds.patch
author Volker Grabsch <vog@notjusthosting.com>
date Wed, 24 Feb 2010 14:54:35 +0100
parents 8fa7fa96f6c8
children cc5accf80b3b
files src/sdl_pango-api-adds.patch
diffstat 1 files changed, 116 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/sdl_pango-api-adds.patch	Wed Feb 24 14:54:35 2010 +0100
@@ -0,0 +1,116 @@
+--- SDL_Pango-0.1.2.orig/src/SDL_Pango.c	2004-12-10 10:06:33.000000000 +0100
++++ SDL_Pango-0.1.2/src/SDL_Pango.c	2006-09-24 22:46:24.000000000 +0200
+@@ -723,13 +723,8 @@
+     SDL_UnlockSurface(surface);
+ }
+ 
+-/*!
+-    Create a context which contains Pango objects.
+-
+-    @return A pointer to the context as a SDLPango_Context*.
+-*/
+ SDLPango_Context*
+-SDLPango_CreateContext()
++SDLPango_CreateContext_GivenFontDesc(const char* font_desc)
+ {
+     SDLPango_Context *context = g_malloc(sizeof(SDLPango_Context));
+     G_CONST_RETURN char *charset;
+@@ -743,8 +738,7 @@
+     pango_context_set_language (context->context, pango_language_from_string (charset));
+     pango_context_set_base_dir (context->context, PANGO_DIRECTION_LTR);
+ 
+-    context->font_desc = pango_font_description_from_string(
+-	MAKE_FONT_NAME (DEFAULT_FONT_FAMILY, DEFAULT_FONT_SIZE));
++    context->font_desc = pango_font_description_from_string(font_desc);
+ 
+     context->layout = pango_layout_new (context->context);
+ 
+@@ -762,6 +756,17 @@
+ }
+ 
+ /*!
++    Create a context which contains Pango objects.
++
++    @return A pointer to the context as a SDLPango_Context*.
++*/
++SDLPango_Context*
++SDLPango_CreateContext()
++{
++     SDLPango_CreateContext_GivenFontDesc(MAKE_FONT_NAME(DEFAULT_FONT_FAMILY, DEFAULT_FONT_SIZE));
++}
++
++/*!
+     Free a context.
+ 
+     @param *context [i/o] Context to be free
+@@ -1053,6 +1058,20 @@
+     pango_layout_set_font_description (context->layout, context->font_desc);
+ }
+ 
++void
++SDLPango_SetText_GivenAlignment(
++    SDLPango_Context *context,
++    const char *text,
++    int length,
++    SDLPango_Alignment alignment)
++{
++    pango_layout_set_attributes(context->layout, NULL);
++    pango_layout_set_text (context->layout, text, length);
++    pango_layout_set_auto_dir (context->layout, TRUE);
++    pango_layout_set_alignment (context->layout, alignment);
++    pango_layout_set_font_description (context->layout, context->font_desc);
++}
++
+ /*!
+     Set plain text to context.
+     Text must be utf-8.
+@@ -1067,11 +1086,7 @@
+     const char *text,
+     int length)
+ {
+-    pango_layout_set_attributes(context->layout, NULL);
+-    pango_layout_set_text (context->layout, text, length);
+-    pango_layout_set_auto_dir (context->layout, TRUE);
+-    pango_layout_set_alignment (context->layout, PANGO_ALIGN_LEFT);
+-    pango_layout_set_font_description (context->layout, context->font_desc);
++     SDLPango_SetText_GivenAlignment(context, text, length, SDLPANGO_ALIGN_LEFT);
+ }
+ 
+ /*!
+--- SDL_Pango-0.1.2.orig/src/SDL_Pango.h	2004-12-10 10:06:33.000000000 +0100
++++ SDL_Pango-0.1.2/src/SDL_Pango.h	2006-09-24 22:46:01.000000000 +0200
+@@ -109,12 +109,20 @@
+     SDLPANGO_DIRECTION_NEUTRAL	/*! Neutral */
+ } SDLPango_Direction;
+ 
+-
++/*!
++    Specifies alignment of text. See Pango reference for detail
++*/
++typedef enum {
++    SDLPANGO_ALIGN_LEFT,
++    SDLPANGO_ALIGN_CENTER,
++    SDLPANGO_ALIGN_RIGHT
++} SDLPango_Alignment;
+ 
+ extern DECLSPEC int SDLCALL SDLPango_Init();
+ 
+ extern DECLSPEC int SDLCALL SDLPango_WasInit();
+ 
++extern DECLSPEC SDLPango_Context* SDLCALL SDLPango_CreateContext_GivenFontDesc(const char* font_desc);
+ extern DECLSPEC SDLPango_Context* SDLCALL SDLPango_CreateContext();
+ 
+ extern DECLSPEC void SDLCALL SDLPango_FreeContext(
+@@ -157,6 +165,12 @@
+     const char *markup,
+     int length);
+ 
++extern DECLSPEC void SDLCALL SDLPango_SetText_GivenAlignment(
++    SDLPango_Context *context,
++    const char *text,
++    int length,
++    SDLPango_Alignment alignment);
++
+ extern DECLSPEC void SDLCALL SDLPango_SetText(
+     SDLPango_Context *context,
+     const char *markup,