gwenhywfar 4.0.3
|
00001 /*************************************************************************** 00002 begin : Sat Feb 20 2010 00003 copyright : (C) 2010 by Martin Preuss 00004 email : martin@libchipcard.de 00005 00006 *************************************************************************** 00007 * Please see toplevel file COPYING for license details * 00008 ***************************************************************************/ 00009 00010 #ifdef HAVE_CONFIG_H 00011 # include <config.h> 00012 #endif 00013 00014 #define DISABLE_DEBUGLOG 00015 00016 00017 #include "o_word_l.h" 00018 #include "htmlctx_l.h" 00019 00020 #include <gwenhywfar/debug.h> 00021 00022 00023 00024 static int HtmlObject_Word_Layout(HTML_OBJECT *o) { 00025 const char *s; 00026 int w=0; 00027 int h=0; 00028 00029 s=HtmlObject_GetText(o); 00030 if (s) { 00031 HTML_PROPS *pr; 00032 HTML_FONT *fnt; 00033 00034 pr=HtmlObject_GetProperties(o); 00035 assert(pr); 00036 fnt=HtmlProps_GetFont(pr); 00037 w=HtmlCtx_GetTextWidth(HtmlObject_GetXmlCtx(o), fnt, s)+(HtmlFont_GetFontSize(fnt)/2); 00038 h=HtmlCtx_GetTextHeight(HtmlObject_GetXmlCtx(o), fnt, s); 00039 } 00040 00041 HtmlObject_SetWidth(o, w); 00042 HtmlObject_SetHeight(o, h); 00043 return 0; 00044 } 00045 00046 00047 00048 HTML_OBJECT *HtmlObject_Word_new(GWEN_XML_CONTEXT *ctx, const char *s) { 00049 HTML_OBJECT *o; 00050 00051 o=HtmlObject_new(ctx, HtmlObjectType_Word); 00052 HtmlObject_SetText(o, s); 00053 HtmlObject_SetLayoutFn(o, HtmlObject_Word_Layout); 00054 00055 return o; 00056 } 00057 00058