123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117 |
- --- src/SDL_Pango.c 2004-12-10 10:06:33.000000000 +0100
- +++ 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);
- }
-
- /*!
- --- src/SDL_Pango.h 2004-12-10 10:06:33.000000000 +0100
- +++ 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,
|