rsvg2 2.2.4-x64-mingw32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (140) hide show
  1. checksums.yaml +7 -0
  2. data/README +35 -0
  3. data/Rakefile +69 -0
  4. data/ext/rsvg2/depend +6 -0
  5. data/ext/rsvg2/extconf.rb +89 -0
  6. data/ext/rsvg2/rbrsvg.c +206 -0
  7. data/ext/rsvg2/rbrsvgdimensiondata.c +194 -0
  8. data/ext/rsvg2/rbrsvghandle.c +496 -0
  9. data/ext/rsvg2/rsvg2.def +2 -0
  10. data/ext/rsvg2/rsvg2.h +70 -0
  11. data/extconf.rb +49 -0
  12. data/lib/2.0/rsvg2.so +0 -0
  13. data/lib/2.1/rsvg2.so +0 -0
  14. data/lib/2.2/rsvg2.so +0 -0
  15. data/lib/rsvg2.rb +33 -0
  16. data/sample/svg-viewer.rb +44 -0
  17. data/sample/svg2.rb +60 -0
  18. data/test/rsvg2-test-utils.rb +23 -0
  19. data/test/run-test.rb +49 -0
  20. data/test/test-handle.rb +91 -0
  21. data/vendor/local/bin/croco-0.6-config +87 -0
  22. data/vendor/local/bin/csslint-0.6.exe +0 -0
  23. data/vendor/local/bin/libcroco-0.6-3.dll +0 -0
  24. data/vendor/local/bin/librsvg-2-2.dll +0 -0
  25. data/vendor/local/bin/rsvg-convert.exe +0 -0
  26. data/vendor/local/include/libcroco-0.6/libcroco/cr-additional-sel.h +98 -0
  27. data/vendor/local/include/libcroco-0.6/libcroco/cr-attr-sel.h +74 -0
  28. data/vendor/local/include/libcroco-0.6/libcroco/cr-cascade.h +74 -0
  29. data/vendor/local/include/libcroco-0.6/libcroco/cr-declaration.h +136 -0
  30. data/vendor/local/include/libcroco-0.6/libcroco/cr-doc-handler.h +298 -0
  31. data/vendor/local/include/libcroco-0.6/libcroco/cr-enc-handler.h +94 -0
  32. data/vendor/local/include/libcroco-0.6/libcroco/cr-fonts.h +315 -0
  33. data/vendor/local/include/libcroco-0.6/libcroco/cr-input.h +174 -0
  34. data/vendor/local/include/libcroco-0.6/libcroco/cr-num.h +127 -0
  35. data/vendor/local/include/libcroco-0.6/libcroco/cr-om-parser.h +98 -0
  36. data/vendor/local/include/libcroco-0.6/libcroco/cr-parser.h +128 -0
  37. data/vendor/local/include/libcroco-0.6/libcroco/cr-parsing-location.h +70 -0
  38. data/vendor/local/include/libcroco-0.6/libcroco/cr-prop-list.h +80 -0
  39. data/vendor/local/include/libcroco-0.6/libcroco/cr-pseudo.h +64 -0
  40. data/vendor/local/include/libcroco-0.6/libcroco/cr-rgb.h +94 -0
  41. data/vendor/local/include/libcroco-0.6/libcroco/cr-sel-eng.h +110 -0
  42. data/vendor/local/include/libcroco-0.6/libcroco/cr-selector.h +95 -0
  43. data/vendor/local/include/libcroco-0.6/libcroco/cr-simple-sel.h +130 -0
  44. data/vendor/local/include/libcroco-0.6/libcroco/cr-statement.h +440 -0
  45. data/vendor/local/include/libcroco-0.6/libcroco/cr-string.h +76 -0
  46. data/vendor/local/include/libcroco-0.6/libcroco/cr-style.h +339 -0
  47. data/vendor/local/include/libcroco-0.6/libcroco/cr-stylesheet.h +102 -0
  48. data/vendor/local/include/libcroco-0.6/libcroco/cr-term.h +190 -0
  49. data/vendor/local/include/libcroco-0.6/libcroco/cr-tknzr.h +115 -0
  50. data/vendor/local/include/libcroco-0.6/libcroco/cr-token.h +212 -0
  51. data/vendor/local/include/libcroco-0.6/libcroco/cr-utils.h +246 -0
  52. data/vendor/local/include/libcroco-0.6/libcroco/libcroco-config.h +17 -0
  53. data/vendor/local/include/libcroco-0.6/libcroco/libcroco.h +44 -0
  54. data/vendor/local/include/librsvg-2.0/librsvg/librsvg-enum-types.h +24 -0
  55. data/vendor/local/include/librsvg-2.0/librsvg/librsvg-features.h +28 -0
  56. data/vendor/local/include/librsvg-2.0/librsvg/rsvg-cairo.h +42 -0
  57. data/vendor/local/include/librsvg-2.0/librsvg/rsvg.h +264 -0
  58. data/vendor/local/lib/girepository-1.0/Rsvg-2.0.typelib +0 -0
  59. data/vendor/local/lib/libcroco-0.6.a +0 -0
  60. data/vendor/local/lib/libcroco-0.6.dll.a +0 -0
  61. data/vendor/local/lib/libcroco-0.6.la +41 -0
  62. data/vendor/local/lib/librsvg-2.a +0 -0
  63. data/vendor/local/lib/librsvg-2.dll.a +0 -0
  64. data/vendor/local/lib/librsvg-2.la +41 -0
  65. data/vendor/local/lib/pkgconfig/libcroco-0.6.pc +11 -0
  66. data/vendor/local/lib/pkgconfig/librsvg-2.0.pc +15 -0
  67. data/vendor/local/share/gir-1.0/Rsvg-2.0.gir +754 -0
  68. data/vendor/local/share/gtk-doc/html/libcroco/ch01.html +113 -0
  69. data/vendor/local/share/gtk-doc/html/libcroco/home.png +0 -0
  70. data/vendor/local/share/gtk-doc/html/libcroco/index.html +109 -0
  71. data/vendor/local/share/gtk-doc/html/libcroco/index.sgml +582 -0
  72. data/vendor/local/share/gtk-doc/html/libcroco/left.png +0 -0
  73. data/vendor/local/share/gtk-doc/html/libcroco/libcroco-cr-additional-sel.html +337 -0
  74. data/vendor/local/share/gtk-doc/html/libcroco/libcroco-cr-attr-sel.html +203 -0
  75. data/vendor/local/share/gtk-doc/html/libcroco/libcroco-cr-cascade.html +240 -0
  76. data/vendor/local/share/gtk-doc/html/libcroco/libcroco-cr-declaration.html +642 -0
  77. data/vendor/local/share/gtk-doc/html/libcroco/libcroco-cr-doc-handler.html +517 -0
  78. data/vendor/local/share/gtk-doc/html/libcroco/libcroco-cr-enc-handler.html +164 -0
  79. data/vendor/local/share/gtk-doc/html/libcroco/libcroco-cr-fonts.html +670 -0
  80. data/vendor/local/share/gtk-doc/html/libcroco/libcroco-cr-input.html +1102 -0
  81. data/vendor/local/share/gtk-doc/html/libcroco/libcroco-cr-num.html +265 -0
  82. data/vendor/local/share/gtk-doc/html/libcroco/libcroco-cr-om-parser.html +380 -0
  83. data/vendor/local/share/gtk-doc/html/libcroco/libcroco-cr-parser.html +913 -0
  84. data/vendor/local/share/gtk-doc/html/libcroco/libcroco-cr-parsing-location.html +205 -0
  85. data/vendor/local/share/gtk-doc/html/libcroco/libcroco-cr-prop-list.html +421 -0
  86. data/vendor/local/share/gtk-doc/html/libcroco/libcroco-cr-pseudo.html +141 -0
  87. data/vendor/local/share/gtk-doc/html/libcroco/libcroco-cr-rgb.html +503 -0
  88. data/vendor/local/share/gtk-doc/html/libcroco/libcroco-cr-sel-eng.html +346 -0
  89. data/vendor/local/share/gtk-doc/html/libcroco/libcroco-cr-selector.html +246 -0
  90. data/vendor/local/share/gtk-doc/html/libcroco/libcroco-cr-simple-sel.html +240 -0
  91. data/vendor/local/share/gtk-doc/html/libcroco/libcroco-cr-statement.html +1408 -0
  92. data/vendor/local/share/gtk-doc/html/libcroco/libcroco-cr-string.html +137 -0
  93. data/vendor/local/share/gtk-doc/html/libcroco/libcroco-cr-style.html +384 -0
  94. data/vendor/local/share/gtk-doc/html/libcroco/libcroco-cr-stylesheet.html +158 -0
  95. data/vendor/local/share/gtk-doc/html/libcroco/libcroco-cr-term.html +304 -0
  96. data/vendor/local/share/gtk-doc/html/libcroco/libcroco-cr-tknzr.html +312 -0
  97. data/vendor/local/share/gtk-doc/html/libcroco/libcroco-cr-token.html +428 -0
  98. data/vendor/local/share/gtk-doc/html/libcroco/libcroco-cr-utils.html +334 -0
  99. data/vendor/local/share/gtk-doc/html/libcroco/libcroco-libcroco-config.html +80 -0
  100. data/vendor/local/share/gtk-doc/html/libcroco/libcroco.devhelp2 +511 -0
  101. data/vendor/local/share/gtk-doc/html/libcroco/right.png +0 -0
  102. data/vendor/local/share/gtk-doc/html/libcroco/style.css +266 -0
  103. data/vendor/local/share/gtk-doc/html/libcroco/up.png +0 -0
  104. data/vendor/local/share/gtk-doc/html/rsvg-2.0/RsvgHandle.html +1420 -0
  105. data/vendor/local/share/gtk-doc/html/rsvg-2.0/annotation-glossary.html +55 -0
  106. data/vendor/local/share/gtk-doc/html/rsvg-2.0/api-index-2-14.html +55 -0
  107. data/vendor/local/share/gtk-doc/html/rsvg-2.0/api-index-2-22.html +43 -0
  108. data/vendor/local/share/gtk-doc/html/rsvg-2.0/api-index-2-32.html +47 -0
  109. data/vendor/local/share/gtk-doc/html/rsvg-2.0/api-index-2-36.html +46 -0
  110. data/vendor/local/share/gtk-doc/html/rsvg-2.0/api-index-2-4.html +39 -0
  111. data/vendor/local/share/gtk-doc/html/rsvg-2.0/api-index-2-8.html +54 -0
  112. data/vendor/local/share/gtk-doc/html/rsvg-2.0/api-index-2-9.html +53 -0
  113. data/vendor/local/share/gtk-doc/html/rsvg-2.0/api-index-deprecated.html +100 -0
  114. data/vendor/local/share/gtk-doc/html/rsvg-2.0/api-index-full.html +323 -0
  115. data/vendor/local/share/gtk-doc/html/rsvg-2.0/home.png +0 -0
  116. data/vendor/local/share/gtk-doc/html/rsvg-2.0/index.html +88 -0
  117. data/vendor/local/share/gtk-doc/html/rsvg-2.0/index.sgml +106 -0
  118. data/vendor/local/share/gtk-doc/html/rsvg-2.0/left-insensitive.png +0 -0
  119. data/vendor/local/share/gtk-doc/html/rsvg-2.0/left.png +0 -0
  120. data/vendor/local/share/gtk-doc/html/rsvg-2.0/licence.html +57 -0
  121. data/vendor/local/share/gtk-doc/html/rsvg-2.0/object-tree.html +38 -0
  122. data/vendor/local/share/gtk-doc/html/rsvg-2.0/right-insensitive.png +0 -0
  123. data/vendor/local/share/gtk-doc/html/rsvg-2.0/right.png +0 -0
  124. data/vendor/local/share/gtk-doc/html/rsvg-2.0/rsvg-2.0.devhelp2 +94 -0
  125. data/vendor/local/share/gtk-doc/html/rsvg-2.0/rsvg-Using-RSVG-with-GIO.html +360 -0
  126. data/vendor/local/share/gtk-doc/html/rsvg-2.0/rsvg-Using-RSVG-with-GdkPixbuf.html +484 -0
  127. data/vendor/local/share/gtk-doc/html/rsvg-2.0/rsvg-Using-RSVG-with-cairo.html +154 -0
  128. data/vendor/local/share/gtk-doc/html/rsvg-2.0/rsvg-Version-check-and-feature-tests.html +142 -0
  129. data/vendor/local/share/gtk-doc/html/rsvg-2.0/rsvg.html +57 -0
  130. data/vendor/local/share/gtk-doc/html/rsvg-2.0/style.css +476 -0
  131. data/vendor/local/share/gtk-doc/html/rsvg-2.0/up-insensitive.png +0 -0
  132. data/vendor/local/share/gtk-doc/html/rsvg-2.0/up.png +0 -0
  133. data/vendor/local/share/license/libcroco/AUTHORS +13 -0
  134. data/vendor/local/share/license/libcroco/COPYING +481 -0
  135. data/vendor/local/share/license/libcroco/COPYING.LIB +481 -0
  136. data/vendor/local/share/license/librsvg/AUTHORS +1 -0
  137. data/vendor/local/share/license/librsvg/COPYING +340 -0
  138. data/vendor/local/share/license/librsvg/COPYING.LIB +482 -0
  139. data/vendor/local/share/man/man1/rsvg-convert.1 +55 -0
  140. metadata +209 -0
@@ -0,0 +1,440 @@
1
+ /* -*- Mode: C; indent-tabs-mode: nil; c-basic-offset: 8 -*- */
2
+
3
+ /*
4
+ * This file is part of The Croco Library
5
+ *
6
+ * This program is free software; you can redistribute it and/or
7
+ * modify it under the terms of version 2.1 of the GNU Lesser General Public
8
+ * License as published by the Free Software Foundation.
9
+ *
10
+ * This program is distributed in the hope that it will be useful,
11
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
+ * GNU General Public License for more details.
14
+ *
15
+ * You should have received a copy of the GNU Lesser General Public License
16
+ * along with this program; if not, write to the Free Software
17
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
18
+ * USA
19
+ *
20
+ * Author: Dodji Seketeli
21
+ * See COPYRIGHTS file for copyright information.
22
+ */
23
+
24
+ #include <stdio.h>
25
+ #include "cr-utils.h"
26
+ #include "cr-term.h"
27
+ #include "cr-selector.h"
28
+ #include "cr-declaration.h"
29
+
30
+ #ifndef __CR_STATEMENT_H__
31
+ #define __CR_STATEMENT_H__
32
+
33
+ G_BEGIN_DECLS
34
+
35
+ /**
36
+ *@file
37
+ *Declaration of the #CRStatement class.
38
+ */
39
+
40
+ /*
41
+ *forward declaration of CRStyleSheet which is defined in
42
+ *cr-stylesheet.h
43
+ */
44
+
45
+ struct _CRStatement ;
46
+
47
+ /*
48
+ *typedef struct _CRStatement CRStatement ;
49
+ *this is forward declared in
50
+ *cr-declaration.h already.
51
+ */
52
+
53
+ struct _CRAtMediaRule ;
54
+ typedef struct _CRAtMediaRule CRAtMediaRule ;
55
+
56
+ typedef struct _CRRuleSet CRRuleSet ;
57
+
58
+ /**
59
+ *The abstraction of a css ruleset.
60
+ *A ruleset is made of a list of selectors,
61
+ *followed by a list of declarations.
62
+ */
63
+ struct _CRRuleSet
64
+ {
65
+ /**A list of instances of #CRSimpeSel*/
66
+ CRSelector *sel_list ;
67
+
68
+ /**A list of instances of #CRDeclaration*/
69
+ CRDeclaration *decl_list ;
70
+
71
+ /**
72
+ *The parent media rule, or NULL if
73
+ *no parent media rule exists.
74
+ */
75
+ CRStatement *parent_media_rule ;
76
+ } ;
77
+
78
+ /*
79
+ *a forward declaration of CRStylesheet.
80
+ *CRStylesheet is actually declared in
81
+ *cr-stylesheet.h
82
+ */
83
+ struct _CRStyleSheet ;
84
+ typedef struct _CRStyleSheet CRStyleSheet;
85
+
86
+
87
+ /**The \@import rule abstraction.*/
88
+ typedef struct _CRAtImportRule CRAtImportRule ;
89
+ struct _CRAtImportRule
90
+ {
91
+ /**the url of the import rule*/
92
+ CRString *url ;
93
+
94
+ GList *media_list ;
95
+
96
+ /**
97
+ *the stylesheet fetched from the url, if any.
98
+ *this is not "owned" by #CRAtImportRule which means
99
+ *it is not destroyed by the destructor of #CRAtImportRule.
100
+ */
101
+ CRStyleSheet * sheet;
102
+ };
103
+
104
+
105
+ /**abstraction of an \@media rule*/
106
+ struct _CRAtMediaRule
107
+ {
108
+ GList *media_list ;
109
+ CRStatement *rulesets ;
110
+ } ;
111
+
112
+
113
+ typedef struct _CRAtPageRule CRAtPageRule ;
114
+ /**The \@page rule abstraction*/
115
+ struct _CRAtPageRule
116
+ {
117
+ /**a list of instances of #CRDeclaration*/
118
+ CRDeclaration *decl_list ;
119
+
120
+ /**page selector. Is a pseudo selector*/
121
+ CRString *name ;
122
+ CRString *pseudo ;
123
+ } ;
124
+
125
+ /**The \@charset rule abstraction*/
126
+ typedef struct _CRAtCharsetRule CRAtCharsetRule ;
127
+ struct _CRAtCharsetRule
128
+ {
129
+ CRString * charset ;
130
+ };
131
+
132
+ /**The abstaction of the \@font-face rule.*/
133
+ typedef struct _CRAtFontFaceRule CRAtFontFaceRule ;
134
+ struct _CRAtFontFaceRule
135
+ {
136
+ /*a list of instanaces of #CRDeclaration*/
137
+ CRDeclaration *decl_list ;
138
+ } ;
139
+
140
+
141
+ /**
142
+ *The possible types of css2 statements.
143
+ */
144
+ enum CRStatementType
145
+ {
146
+ /**
147
+ *A generic css at-rule
148
+ *each unknown at-rule will
149
+ *be of this type.
150
+ */
151
+
152
+ /**A css at-rule*/
153
+ AT_RULE_STMT = 0,
154
+
155
+ /*A css ruleset*/
156
+ RULESET_STMT,
157
+
158
+ /**A css2 import rule*/
159
+ AT_IMPORT_RULE_STMT,
160
+
161
+ /**A css2 media rule*/
162
+ AT_MEDIA_RULE_STMT,
163
+
164
+ /**A css2 page rule*/
165
+ AT_PAGE_RULE_STMT,
166
+
167
+ /**A css2 charset rule*/
168
+ AT_CHARSET_RULE_STMT,
169
+
170
+ /**A css2 font face rule*/
171
+ AT_FONT_FACE_RULE_STMT
172
+ } ;
173
+
174
+
175
+ /**
176
+ *The abstraction of css statement as defined
177
+ *in the chapter 4 and appendix D.1 of the css2 spec.
178
+ *A statement is actually a double chained list of
179
+ *statements.A statement can be a ruleset, an \@import
180
+ *rule, an \@page rule etc ...
181
+ */
182
+ struct _CRStatement
183
+ {
184
+ /**
185
+ *The type of the statement.
186
+ */
187
+ enum CRStatementType type ;
188
+
189
+ union
190
+ {
191
+ CRRuleSet *ruleset ;
192
+ CRAtImportRule *import_rule ;
193
+ CRAtMediaRule *media_rule ;
194
+ CRAtPageRule *page_rule ;
195
+ CRAtCharsetRule *charset_rule ;
196
+ CRAtFontFaceRule *font_face_rule ;
197
+ } kind ;
198
+
199
+ /*
200
+ *the specificity of the selector
201
+ *that matched this statement.
202
+ *This is only used by the cascading
203
+ *order determination algorithm.
204
+ */
205
+ gulong specificity ;
206
+
207
+ /*
208
+ *the style sheet that contains
209
+ *this css statement.
210
+ */
211
+ CRStyleSheet *parent_sheet ;
212
+ CRStatement *next ;
213
+ CRStatement *prev ;
214
+
215
+ CRParsingLocation location ;
216
+
217
+ /**
218
+ *a custom pointer useable by
219
+ *applications that use libcroco.
220
+ *libcroco itself will never modify
221
+ *this pointer.
222
+ */
223
+ gpointer app_data ;
224
+
225
+ /**
226
+ *a custom pointer used
227
+ *by the upper layers of libcroco.
228
+ *application should never use this
229
+ *pointer.
230
+ */
231
+ gpointer croco_data ;
232
+
233
+ } ;
234
+
235
+
236
+ gboolean
237
+ cr_statement_does_buf_parses_against_core (const guchar *a_buf,
238
+ enum CREncoding a_encoding) ;
239
+ CRStatement *
240
+ cr_statement_parse_from_buf (const guchar *a_buf,
241
+ enum CREncoding a_encoding) ;
242
+ CRStatement*
243
+ cr_statement_new_ruleset (CRStyleSheet *a_sheet,
244
+ CRSelector *a_sel_list,
245
+ CRDeclaration *a_decl_list,
246
+ CRStatement *a_media_rule) ;
247
+ CRStatement *
248
+ cr_statement_ruleset_parse_from_buf (const guchar * a_buf,
249
+ enum CREncoding a_enc) ;
250
+
251
+ CRStatement*
252
+ cr_statement_new_at_import_rule (CRStyleSheet *a_container_sheet,
253
+ CRString *a_url,
254
+ GList *a_media_list,
255
+ CRStyleSheet *a_imported_sheet) ;
256
+
257
+ CRStatement *
258
+ cr_statement_at_import_rule_parse_from_buf (const guchar * a_buf,
259
+ enum CREncoding a_encoding) ;
260
+
261
+ CRStatement *
262
+ cr_statement_new_at_media_rule (CRStyleSheet *a_sheet,
263
+ CRStatement *a_ruleset,
264
+ GList *a_media) ;
265
+ CRStatement *
266
+ cr_statement_at_media_rule_parse_from_buf (const guchar *a_buf,
267
+ enum CREncoding a_enc) ;
268
+
269
+ CRStatement *
270
+ cr_statement_new_at_charset_rule (CRStyleSheet *a_sheet,
271
+ CRString *a_charset) ;
272
+ CRStatement *
273
+ cr_statement_at_charset_rule_parse_from_buf (const guchar *a_buf,
274
+ enum CREncoding a_encoding);
275
+
276
+
277
+ CRStatement *
278
+ cr_statement_new_at_font_face_rule (CRStyleSheet *a_sheet,
279
+ CRDeclaration *a_font_decls) ;
280
+ CRStatement *
281
+ cr_statement_font_face_rule_parse_from_buf (const guchar *a_buf,
282
+ enum CREncoding a_encoding) ;
283
+
284
+ CRStatement *
285
+ cr_statement_new_at_page_rule (CRStyleSheet *a_sheet,
286
+ CRDeclaration *a_decl_list,
287
+ CRString *a_name,
288
+ CRString *a_pseudo) ;
289
+ CRStatement *
290
+ cr_statement_at_page_rule_parse_from_buf (const guchar *a_buf,
291
+ enum CREncoding a_encoding) ;
292
+
293
+ enum CRStatus
294
+ cr_statement_set_parent_sheet (CRStatement *a_this,
295
+ CRStyleSheet *a_sheet) ;
296
+
297
+ enum CRStatus
298
+ cr_statement_get_parent_sheet (CRStatement *a_this,
299
+ CRStyleSheet **a_sheet) ;
300
+
301
+ CRStatement *
302
+ cr_statement_append (CRStatement *a_this,
303
+ CRStatement *a_new) ;
304
+
305
+ CRStatement*
306
+ cr_statement_prepend (CRStatement *a_this,
307
+ CRStatement *a_new) ;
308
+
309
+ CRStatement *
310
+ cr_statement_unlink (CRStatement *a_stmt) ;
311
+
312
+ enum CRStatus
313
+ cr_statement_ruleset_set_sel_list (CRStatement *a_this,
314
+ CRSelector *a_sel_list) ;
315
+
316
+ enum CRStatus
317
+ cr_statement_ruleset_get_sel_list (CRStatement const *a_this,
318
+ CRSelector **a_list) ;
319
+
320
+ enum CRStatus
321
+ cr_statement_ruleset_set_decl_list (CRStatement *a_this,
322
+ CRDeclaration *a_list) ;
323
+
324
+ enum CRStatus
325
+ cr_statement_ruleset_get_declarations (CRStatement *a_this,
326
+ CRDeclaration **a_decl_list) ;
327
+
328
+ enum CRStatus
329
+ cr_statement_ruleset_append_decl2 (CRStatement *a_this,
330
+ CRString *a_prop, CRTerm *a_value) ;
331
+
332
+ enum CRStatus
333
+ cr_statement_ruleset_append_decl (CRStatement *a_this,
334
+ CRDeclaration *a_decl) ;
335
+
336
+ enum CRStatus
337
+ cr_statement_at_import_rule_set_imported_sheet (CRStatement *a_this,
338
+ CRStyleSheet *a_sheet) ;
339
+
340
+ enum CRStatus
341
+ cr_statement_at_import_rule_get_imported_sheet (CRStatement *a_this,
342
+ CRStyleSheet **a_sheet) ;
343
+
344
+ enum CRStatus
345
+ cr_statement_at_import_rule_set_url (CRStatement *a_this,
346
+ CRString *a_url) ;
347
+
348
+ enum CRStatus
349
+ cr_statement_at_import_rule_get_url (CRStatement const *a_this,
350
+ CRString **a_url) ;
351
+
352
+ gint
353
+ cr_statement_at_media_nr_rules (CRStatement const *a_this) ;
354
+
355
+ CRStatement *
356
+ cr_statement_at_media_get_from_list (CRStatement *a_this, int itemnr) ;
357
+
358
+ enum CRStatus
359
+ cr_statement_at_page_rule_set_sel (CRStatement *a_this,
360
+ CRSelector *a_sel) ;
361
+
362
+ enum CRStatus
363
+ cr_statement_at_page_rule_get_sel (CRStatement const *a_this,
364
+ CRSelector **a_sel) ;
365
+
366
+ enum CRStatus
367
+ cr_statement_at_page_rule_set_declarations (CRStatement *a_this,
368
+ CRDeclaration *a_decl_list) ;
369
+
370
+ enum CRStatus
371
+ cr_statement_at_page_rule_get_declarations (CRStatement *a_this,
372
+ CRDeclaration **a_decl_list) ;
373
+
374
+ enum CRStatus
375
+ cr_statement_at_charset_rule_set_charset (CRStatement *a_this,
376
+ CRString *a_charset) ;
377
+
378
+ enum CRStatus
379
+ cr_statement_at_charset_rule_get_charset (CRStatement const *a_this,
380
+ CRString **a_charset) ;
381
+
382
+ enum CRStatus
383
+ cr_statement_at_font_face_rule_set_decls (CRStatement *a_this,
384
+ CRDeclaration *a_decls) ;
385
+
386
+ enum CRStatus
387
+ cr_statement_at_font_face_rule_get_decls (CRStatement *a_this,
388
+ CRDeclaration **a_decls) ;
389
+
390
+ enum CRStatus
391
+ cr_statement_at_font_face_rule_add_decl (CRStatement *a_this,
392
+ CRString *a_prop,
393
+ CRTerm *a_value) ;
394
+
395
+ gchar *
396
+ cr_statement_to_string (CRStatement const * a_this, gulong a_indent) ;
397
+
398
+ gchar*
399
+ cr_statement_list_to_string (CRStatement const *a_this, gulong a_indent) ;
400
+
401
+ void
402
+ cr_statement_dump (CRStatement const *a_this, FILE *a_fp, gulong a_indent) ;
403
+
404
+ void
405
+ cr_statement_dump_ruleset (CRStatement const * a_this, FILE * a_fp,
406
+ glong a_indent) ;
407
+
408
+ void
409
+ cr_statement_dump_font_face_rule (CRStatement const * a_this,
410
+ FILE * a_fp,
411
+ glong a_indent) ;
412
+
413
+ void
414
+ cr_statement_dump_page (CRStatement const * a_this, FILE * a_fp,
415
+ gulong a_indent) ;
416
+
417
+
418
+ void
419
+ cr_statement_dump_media_rule (CRStatement const * a_this,
420
+ FILE * a_fp,
421
+ gulong a_indent) ;
422
+
423
+ void
424
+ cr_statement_dump_import_rule (CRStatement const * a_this, FILE * a_fp,
425
+ gulong a_indent) ;
426
+ void
427
+ cr_statement_dump_charset (CRStatement const * a_this, FILE * a_fp,
428
+ gulong a_indent) ;
429
+ gint
430
+ cr_statement_nr_rules (CRStatement const *a_this) ;
431
+
432
+ CRStatement *
433
+ cr_statement_get_from_list (CRStatement *a_this, int itemnr) ;
434
+
435
+ void
436
+ cr_statement_destroy (CRStatement *a_this) ;
437
+
438
+ G_END_DECLS
439
+
440
+ #endif /*__CR_STATEMENT_H__*/
@@ -0,0 +1,76 @@
1
+ /* -*- Mode: C; indent-tabs-mode:nil; c-basic-offset: 8-*- */
2
+
3
+ /*
4
+ * This file is part of The Croco Library
5
+ *
6
+ * This program is free software; you can redistribute it and/or
7
+ * modify it under the terms of version 2.1 of the GNU Lesser General Public
8
+ * License as published by the Free Software Foundation.
9
+ *
10
+ * This program is distributed in the hope that it will be useful,
11
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
+ * GNU General Public License for more details.
14
+ *
15
+ * You should have received a copy of the GNU Lesser General Public License
16
+ * along with this program; if not, write to the Free Software
17
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
18
+ * USA
19
+ *
20
+ * See COPYRIGHTS file for copyright information.
21
+ */
22
+
23
+ /**
24
+ *@file
25
+ *Declaration file of the #CRString class.
26
+ */
27
+
28
+ #ifndef __CR_STRING_H__
29
+ #define __CR_STRING_H__
30
+
31
+ #include <glib.h>
32
+ #include "cr-utils.h"
33
+ #include "cr-parsing-location.h"
34
+
35
+ G_BEGIN_DECLS
36
+
37
+ typedef struct _CRString CRString ;
38
+
39
+ /**
40
+ *This is a ship implementation of string based on GString.
41
+ *Actually, the aim of CRString is to store the parsing location
42
+ *(line,column,byte offset) at which a given string has been parsed
43
+ *in the input CSS.
44
+ *So this class has a gstring field of type GString that users can
45
+ *freely manipulate, and also a CRParginLocation type where the
46
+ *parsing location is store. If you don't want to deal with parsing
47
+ *location stuffs, then use GString instead. If we were in C++ for example,
48
+ *CRString would just inherit GString and just add accessors to
49
+ *the CRParsingLocation data ... but we are not and we still have
50
+ *to provide the parsing location information.
51
+ */
52
+ struct _CRString {
53
+ /**
54
+ *The GString where all the string
55
+ *operation happen.
56
+ */
57
+ GString *stryng ;
58
+ /**
59
+ *The parsing location storage area.
60
+ */
61
+ CRParsingLocation location ;
62
+ } ;
63
+
64
+ CRString * cr_string_new (void) ;
65
+
66
+ CRString *cr_string_new_from_string (const gchar * a_string) ;
67
+ CRString * cr_string_new_from_gstring (GString const *a_string) ;
68
+ CRString *cr_string_dup (CRString const *a_this) ;
69
+ gchar *cr_string_dup2 (CRString const *a_this) ;
70
+ const gchar *cr_string_peek_raw_str (CRString const *a_this) ;
71
+ gint cr_string_peek_raw_str_len (CRString const *a_this) ;
72
+ void cr_string_destroy (CRString *a_this) ;
73
+
74
+ G_END_DECLS
75
+
76
+ #endif