1 /***************************************************************************
2  begin       : Sat Feb 20 2010
3  copyright   : (C) 2010 by Martin Preuss
4  email       : martin@libchipcard.de
5 
6  ***************************************************************************
7  *          Please see toplevel file COPYING for license details           *
8  ***************************************************************************/
9 
10 #ifdef HAVE_CONFIG_H
11 # include <config.h>
12 #endif
13 
14 #define DISABLE_DEBUGLOG
15 
16 
17 #include "htmlfont_p.h"
18 
19 
20 
21 GWEN_INHERIT_FUNCTIONS(HTML_FONT)
GWEN_LIST_FUNCTIONS(HTML_FONT,HtmlFont)22 GWEN_LIST_FUNCTIONS(HTML_FONT, HtmlFont)
23 
24 
25 HTML_FONT *HtmlFont_new(void)
26 {
27   HTML_FONT *fnt;
28 
29   GWEN_NEW_OBJECT(HTML_FONT, fnt);
30   fnt->refCount=1;
31   GWEN_INHERIT_INIT(HTML_FONT, fnt);
32   GWEN_LIST_INIT(HTML_FONT, fnt);
33 
34   return fnt;
35 }
36 
37 
38 
HtmlFont_free(HTML_FONT * fnt)39 void HtmlFont_free(HTML_FONT *fnt)
40 {
41   if (fnt) {
42     assert(fnt->refCount);
43     if (fnt->refCount>1)
44       fnt->refCount--;
45     else {
46       GWEN_LIST_FINI(HTML_FONT, fnt);
47       GWEN_INHERIT_FINI(HTML_FONT, fnt);
48       free(fnt->fontName);
49 
50       fnt->refCount=0;
51       GWEN_FREE_OBJECT(fnt);
52     }
53   }
54 }
55 
56 
57 
HtmlFont_Attach(HTML_FONT * fnt)58 void HtmlFont_Attach(HTML_FONT *fnt)
59 {
60   assert(fnt);
61   assert(fnt->refCount);
62   fnt->refCount++;
63 }
64 
65 
66 
HtmlFont_GetFontName(const HTML_FONT * fnt)67 const char *HtmlFont_GetFontName(const HTML_FONT *fnt)
68 {
69   assert(fnt);
70   assert(fnt->refCount);
71   return fnt->fontName;
72 }
73 
74 
75 
HtmlFont_SetFontName(HTML_FONT * fnt,const char * s)76 void HtmlFont_SetFontName(HTML_FONT *fnt, const char *s)
77 {
78   assert(fnt);
79   assert(fnt->refCount);
80   free(fnt->fontName);
81   if (s)
82     fnt->fontName=strdup(s);
83   else
84     fnt->fontName=NULL;
85 }
86 
87 
88 
HtmlFont_GetFontSize(const HTML_FONT * fnt)89 int HtmlFont_GetFontSize(const HTML_FONT *fnt)
90 {
91   assert(fnt);
92   assert(fnt->refCount);
93   return fnt->fontSize;
94 }
95 
96 
97 
HtmlFont_SetFontSize(HTML_FONT * fnt,int i)98 void HtmlFont_SetFontSize(HTML_FONT *fnt, int i)
99 {
100   assert(fnt);
101   assert(fnt->refCount);
102   fnt->fontSize=i;
103 }
104 
105 
106 
HtmlFont_GetFontFlags(const HTML_FONT * fnt)107 uint32_t HtmlFont_GetFontFlags(const HTML_FONT *fnt)
108 {
109   assert(fnt);
110   assert(fnt->refCount);
111   return fnt->fontFlags;
112 }
113 
114 
115 
HtmlFont_SetFontFlags(HTML_FONT * fnt,uint32_t i)116 void HtmlFont_SetFontFlags(HTML_FONT *fnt, uint32_t i)
117 {
118   assert(fnt);
119   assert(fnt->refCount);
120   fnt->fontFlags=i;
121 }
122 
123 
124 
HtmlFont_AddFontFlags(HTML_FONT * fnt,uint32_t i)125 void HtmlFont_AddFontFlags(HTML_FONT *fnt, uint32_t i)
126 {
127   assert(fnt);
128   assert(fnt->refCount);
129   fnt->fontFlags|=i;
130 }
131 
132 
133 
HtmlFont_SubFontFlags(HTML_FONT * fnt,uint32_t i)134 void HtmlFont_SubFontFlags(HTML_FONT *fnt, uint32_t i)
135 {
136   assert(fnt);
137   assert(fnt->refCount);
138   fnt->fontFlags&=~i;
139 }
140 
141 
142 
143 
144