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