Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Factory:Rebuild
SDL_Pango
SDL_Pango-0.1.2-API-adds.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File SDL_Pango-0.1.2-API-adds.patch of Package SDL_Pango
--- src/SDL_Pango.c | 41 ++++++++++++++++++++++++++++------------- src/SDL_Pango.h | 16 +++++++++++++++- 2 files changed, 43 insertions(+), 14 deletions(-) Index: SDL_Pango-0.1.2/src/SDL_Pango.c =================================================================== --- SDL_Pango-0.1.2.orig/src/SDL_Pango.c +++ SDL_Pango-0.1.2/src/SDL_Pango.c @@ -723,13 +723,8 @@ SDLPango_CopyFTBitmapToSurface( 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 @@ SDLPango_CreateContext() 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 @@ SDLPango_CreateContext() } /*! + Create a context which contains Pango objects. + + @return A pointer to the context as a SDLPango_Context*. +*/ +SDLPango_Context* +SDLPango_CreateContext() +{ + return 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 @@ SDLPango_SetMarkup( 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 @@ SDLPango_SetText( 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); } /*! Index: SDL_Pango-0.1.2/src/SDL_Pango.h =================================================================== --- SDL_Pango-0.1.2.orig/src/SDL_Pango.h +++ SDL_Pango-0.1.2/src/SDL_Pango.h @@ -109,12 +109,20 @@ typedef enum { 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 @@ extern DECLSPEC void SDLCALL SDLPango_Se 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,
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor