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,115 @@
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 coypyright information.
22
+ */
23
+
24
+ /**
25
+ *@file
26
+ *The declaration of the #CRTknzr (tokenizer)
27
+ *class.
28
+ */
29
+
30
+ #ifndef __CR_TKNZR_H__
31
+ #define __CR_TKNZR_H__
32
+
33
+ #include "cr-utils.h"
34
+ #include "cr-input.h"
35
+ #include "cr-token.h"
36
+
37
+ G_BEGIN_DECLS
38
+
39
+
40
+ typedef struct _CRTknzr CRTknzr ;
41
+ typedef struct _CRTknzrPriv CRTknzrPriv ;
42
+
43
+ /**
44
+ *The tokenizer is the class that knows
45
+ *about all the css token. Its main job is
46
+ *to return the next token found in the character
47
+ *input stream.
48
+ */
49
+ struct _CRTknzr
50
+ {
51
+ /*the private data of the tokenizer.*/
52
+ CRTknzrPriv *priv ;
53
+ } ;
54
+
55
+ CRTknzr * cr_tknzr_new (CRInput *a_input) ;
56
+
57
+ CRTknzr * cr_tknzr_new_from_uri (const guchar *a_file_uri,
58
+ enum CREncoding a_enc) ;
59
+
60
+ CRTknzr * cr_tknzr_new_from_buf (guchar *a_buf, gulong a_len,
61
+ enum CREncoding a_enc,
62
+ gboolean a_free_at_destroy) ;
63
+
64
+ gboolean cr_tknzr_unref (CRTknzr *a_this) ;
65
+
66
+ void cr_tknzr_ref (CRTknzr *a_this) ;
67
+
68
+ enum CRStatus cr_tknzr_read_byte (CRTknzr *a_this, guchar *a_byte) ;
69
+
70
+ enum CRStatus cr_tknzr_read_char (CRTknzr *a_this, guint32 *a_char);
71
+
72
+ enum CRStatus cr_tknzr_peek_char (CRTknzr *a_this, guint32 *a_char) ;
73
+
74
+ enum CRStatus cr_tknzr_peek_byte (CRTknzr *a_this, gulong a_offset,
75
+ guchar *a_byte) ;
76
+
77
+ guchar cr_tknzr_peek_byte2 (CRTknzr *a_this, gulong a_offset,
78
+ gboolean *a_eof) ;
79
+
80
+ enum CRStatus cr_tknzr_set_cur_pos (CRTknzr *a_this, CRInputPos *a_pos) ;
81
+
82
+ glong cr_tknzr_get_nb_bytes_left (CRTknzr *a_this) ;
83
+
84
+ enum CRStatus cr_tknzr_get_cur_pos (CRTknzr *a_this, CRInputPos *a_pos) ;
85
+
86
+ enum CRStatus cr_tknzr_get_parsing_location (CRTknzr *a_this,
87
+ CRParsingLocation *a_loc) ;
88
+
89
+ enum CRStatus cr_tknzr_seek_index (CRTknzr *a_this,
90
+ enum CRSeekPos a_origin,
91
+ gint a_pos) ;
92
+
93
+ enum CRStatus cr_tknzr_get_cur_byte_addr (CRTknzr *a_this, guchar **a_addr) ;
94
+
95
+
96
+ enum CRStatus cr_tknzr_consume_chars (CRTknzr *a_this, guint32 a_char,
97
+ glong *a_nb_char) ;
98
+
99
+ enum CRStatus cr_tknzr_get_next_token (CRTknzr *a_this, CRToken ** a_tk) ;
100
+
101
+ enum CRStatus cr_tknzr_unget_token (CRTknzr *a_this, CRToken *a_token) ;
102
+
103
+
104
+ enum CRStatus cr_tknzr_parse_token (CRTknzr *a_this, enum CRTokenType a_type,
105
+ enum CRTokenExtraType a_et, gpointer a_res,
106
+ gpointer a_extra_res) ;
107
+ enum CRStatus cr_tknzr_set_input (CRTknzr *a_this, CRInput *a_input) ;
108
+
109
+ enum CRStatus cr_tknzr_get_input (CRTknzr *a_this, CRInput **a_input) ;
110
+
111
+ void cr_tknzr_destroy (CRTknzr *a_this) ;
112
+
113
+ G_END_DECLS
114
+
115
+ #endif /*__CR_TKZNR_H__*/
@@ -0,0 +1,212 @@
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
+ #ifndef __CR_TOKEN_H__
25
+ #define __CR_TOKEN_H__
26
+
27
+ #include "cr-utils.h"
28
+ #include "cr-input.h"
29
+ #include "cr-num.h"
30
+ #include "cr-rgb.h"
31
+ #include "cr-string.h"
32
+ #include "cr-parsing-location.h"
33
+
34
+ G_BEGIN_DECLS
35
+
36
+ enum CRTokenType
37
+ {
38
+ NO_TK,
39
+ S_TK,
40
+ CDO_TK,
41
+ CDC_TK,
42
+ INCLUDES_TK,
43
+ DASHMATCH_TK,
44
+ COMMENT_TK,
45
+ STRING_TK,
46
+ IDENT_TK,
47
+ HASH_TK,
48
+ IMPORT_SYM_TK,
49
+ PAGE_SYM_TK,
50
+ MEDIA_SYM_TK,
51
+ FONT_FACE_SYM_TK,
52
+ CHARSET_SYM_TK,
53
+ ATKEYWORD_TK,
54
+ IMPORTANT_SYM_TK,
55
+ EMS_TK,
56
+ EXS_TK,
57
+ LENGTH_TK,
58
+ ANGLE_TK,
59
+ TIME_TK,
60
+ FREQ_TK,
61
+ DIMEN_TK,
62
+ PERCENTAGE_TK,
63
+ NUMBER_TK,
64
+ RGB_TK,
65
+ URI_TK,
66
+ FUNCTION_TK,
67
+ UNICODERANGE_TK,
68
+ SEMICOLON_TK,
69
+ CBO_TK, /*opening curly bracket*/
70
+ CBC_TK, /*closing curly bracket*/
71
+ PO_TK, /*opening parenthesis*/
72
+ PC_TK, /*closing parenthesis*/
73
+ BO_TK, /*opening bracket*/
74
+ BC_TK, /*closing bracket*/
75
+ DELIM_TK
76
+ } ;
77
+
78
+ enum CRTokenExtraType
79
+ {
80
+ NO_ET = 0,
81
+ LENGTH_PX_ET,
82
+ LENGTH_CM_ET,
83
+ LENGTH_MM_ET,
84
+ LENGTH_IN_ET,
85
+ LENGTH_PT_ET,
86
+ LENGTH_PC_ET,
87
+ ANGLE_DEG_ET,
88
+ ANGLE_RAD_ET,
89
+ ANGLE_GRAD_ET,
90
+ TIME_MS_ET,
91
+ TIME_S_ET,
92
+ FREQ_HZ_ET,
93
+ FREQ_KHZ_ET
94
+ } ;
95
+
96
+ typedef struct _CRToken CRToken ;
97
+
98
+ /**
99
+ *This class abstracts a css2 token.
100
+ */
101
+ struct _CRToken
102
+ {
103
+ enum CRTokenType type ;
104
+ enum CRTokenExtraType extra_type ;
105
+ CRInputPos pos ;
106
+
107
+ union
108
+ {
109
+ CRString *str ;
110
+ CRRgb *rgb ;
111
+ CRNum *num ;
112
+ guint32 unichar ;
113
+ } u ;
114
+
115
+ CRString * dimen ;
116
+ CRParsingLocation location ;
117
+ } ;
118
+
119
+ CRToken* cr_token_new (void) ;
120
+
121
+ enum CRStatus cr_token_set_s (CRToken *a_this) ;
122
+
123
+ enum CRStatus cr_token_set_cdo (CRToken *a_this) ;
124
+
125
+ enum CRStatus cr_token_set_cdc (CRToken *a_this) ;
126
+
127
+ enum CRStatus cr_token_set_includes (CRToken *a_this) ;
128
+
129
+ enum CRStatus cr_token_set_dashmatch (CRToken *a_this) ;
130
+
131
+ enum CRStatus cr_token_set_comment (CRToken *a_this, CRString *a_str) ;
132
+
133
+ enum CRStatus cr_token_set_string (CRToken *a_this, CRString *a_str) ;
134
+
135
+ enum CRStatus cr_token_set_ident (CRToken *a_this, CRString * a_ident) ;
136
+
137
+ enum CRStatus cr_token_set_hash (CRToken *a_this, CRString *a_hash) ;
138
+
139
+ enum CRStatus cr_token_set_rgb (CRToken *a_this, CRRgb *a_rgb) ;
140
+
141
+ enum CRStatus cr_token_set_import_sym (CRToken *a_this) ;
142
+
143
+ enum CRStatus cr_token_set_page_sym (CRToken *a_this) ;
144
+
145
+ enum CRStatus cr_token_set_media_sym (CRToken *a_this) ;
146
+
147
+ enum CRStatus cr_token_set_font_face_sym (CRToken *a_this) ;
148
+
149
+ enum CRStatus cr_token_set_charset_sym (CRToken *a_this) ;
150
+
151
+ enum CRStatus cr_token_set_atkeyword (CRToken *a_this, CRString *a_atname) ;
152
+
153
+ enum CRStatus cr_token_set_important_sym (CRToken *a_this) ;
154
+
155
+ enum CRStatus cr_token_set_ems (CRToken *a_this, CRNum *a_num) ;
156
+
157
+ enum CRStatus cr_token_set_exs (CRToken *a_this, CRNum *a_num) ;
158
+
159
+ enum CRStatus cr_token_set_length (CRToken *a_this, CRNum *a_num,
160
+ enum CRTokenExtraType a_et) ;
161
+
162
+ enum CRStatus cr_token_set_angle (CRToken *a_this, CRNum *a_num,
163
+ enum CRTokenExtraType a_et) ;
164
+
165
+ enum CRStatus cr_token_set_time (CRToken *a_this, CRNum *a_num,
166
+ enum CRTokenExtraType a_et) ;
167
+
168
+ enum CRStatus cr_token_set_freq (CRToken *a_this, CRNum *a_num,
169
+ enum CRTokenExtraType a_et) ;
170
+
171
+ enum CRStatus cr_token_set_dimen (CRToken *a_this, CRNum *a_num,
172
+ CRString *a_dim) ;
173
+
174
+ enum CRStatus cr_token_set_percentage (CRToken *a_this, CRNum *a_num) ;
175
+
176
+ enum CRStatus cr_token_set_number (CRToken *a_this, CRNum *a_num) ;
177
+
178
+ enum CRStatus cr_token_set_uri (CRToken *a_this, CRString *a_uri) ;
179
+
180
+ enum CRStatus cr_token_set_function (CRToken *a_this,
181
+ CRString *a_fun_name) ;
182
+
183
+ enum CRStatus cr_token_set_bc (CRToken *a_this) ;
184
+
185
+ enum CRStatus cr_token_set_bo (CRToken *a_this) ;
186
+
187
+ enum CRStatus cr_token_set_po (CRToken *a_this) ;
188
+
189
+ enum CRStatus cr_token_set_pc (CRToken *a_this) ;
190
+
191
+ enum CRStatus cr_token_set_cbc (CRToken *a_this) ;
192
+
193
+ enum CRStatus cr_token_set_cbo (CRToken *a_this) ;
194
+
195
+ enum CRStatus cr_token_set_semicolon (CRToken *a_this) ;
196
+
197
+ enum CRStatus cr_token_set_delim (CRToken *a_this, guint32 a_char) ;
198
+
199
+
200
+ /*
201
+ enum CRStatus
202
+ cr_token_set_unicoderange (CRToken *a_this,
203
+ CRUnicodeRange *a_range) ;
204
+ */
205
+
206
+ void
207
+ cr_token_destroy (CRToken *a_this) ;
208
+
209
+
210
+ G_END_DECLS
211
+
212
+ #endif /*__CR_TOKEN_H__*/
@@ -0,0 +1,246 @@
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
+ * Look at file COPYRIGHTS for copyright information
22
+ */
23
+
24
+ #ifndef __CR_DEFS_H__
25
+ #define __CR_DEFS_H__
26
+
27
+ #include <stdio.h>
28
+ #include <glib.h>
29
+ #include "libcroco-config.h"
30
+
31
+ G_BEGIN_DECLS
32
+
33
+ /**
34
+ *@file
35
+ *The Croco library basic types definitions
36
+ *And global definitions.
37
+ */
38
+
39
+ /**
40
+ *The status type returned
41
+ *by the methods of the croco library.
42
+ */
43
+ enum CRStatus {
44
+ CR_OK,
45
+ CR_BAD_PARAM_ERROR,
46
+ CR_INSTANCIATION_FAILED_ERROR,
47
+ CR_UNKNOWN_TYPE_ERROR,
48
+ CR_UNKNOWN_PROP_ERROR,
49
+ CR_UNKNOWN_PROP_VAL_ERROR,
50
+ CR_UNEXPECTED_POSITION_SCHEME,
51
+ CR_START_OF_INPUT_ERROR,
52
+ CR_END_OF_INPUT_ERROR,
53
+ CR_OUTPUT_TOO_SHORT_ERROR,
54
+ CR_INPUT_TOO_SHORT_ERROR,
55
+ CR_OUT_OF_BOUNDS_ERROR,
56
+ CR_EMPTY_PARSER_INPUT_ERROR,
57
+ CR_ENCODING_ERROR,
58
+ CR_ENCODING_NOT_FOUND_ERROR,
59
+ CR_PARSING_ERROR,
60
+ CR_SYNTAX_ERROR,
61
+ CR_NO_ROOT_NODE_ERROR,
62
+ CR_NO_TOKEN,
63
+ CR_OUT_OF_MEMORY_ERROR,
64
+ CR_PSEUDO_CLASS_SEL_HANDLER_NOT_FOUND_ERROR,
65
+ CR_BAD_PSEUDO_CLASS_SEL_HANDLER_ERROR,
66
+ CR_ERROR,
67
+ CR_FILE_NOT_FOUND_ERROR,
68
+ CR_VALUE_NOT_FOUND_ERROR
69
+ } ;
70
+
71
+ /**
72
+ *Values used by
73
+ *cr_input_seek_position() ;
74
+ */
75
+ enum CRSeekPos {
76
+ CR_SEEK_CUR,
77
+ CR_SEEK_BEGIN,
78
+ CR_SEEK_END
79
+ } ;
80
+
81
+ /**
82
+ *Encoding values.
83
+ */
84
+ enum CREncoding
85
+ {
86
+ CR_UCS_4 = 1/*Must be not NULL*/,
87
+ CR_UCS_1,
88
+ CR_ISO_8859_1,
89
+ CR_ASCII,
90
+ CR_UTF_8,
91
+ CR_UTF_16,
92
+ CR_AUTO/*should be the last one*/
93
+ } ;
94
+
95
+
96
+
97
+
98
+ #define CROCO_LOG_DOMAIN "LIBCROCO"
99
+
100
+ #ifdef __GNUC__
101
+ #define cr_utils_trace(a_log_level, a_msg) \
102
+ g_log (CROCO_LOG_DOMAIN, \
103
+ G_LOG_LEVEL_CRITICAL, \
104
+ "file %s: line %d (%s): %s\n", \
105
+ __FILE__, \
106
+ __LINE__, \
107
+ __PRETTY_FUNCTION__, \
108
+ a_msg)
109
+ #else /*__GNUC__*/
110
+
111
+ #define cr_utils_trace(a_log_level, a_msg) \
112
+ g_log (CROCO_LOG_DOMAIN, \
113
+ G_LOG_LEVEL_CRITICAL, \
114
+ "file %s: line %d: %s\n", \
115
+ __FILE__, \
116
+ __LINE__, \
117
+ a_msg)
118
+ #endif
119
+
120
+ /**
121
+ *Traces an info message.
122
+ *The file, line and enclosing function
123
+ *of the message will be automatically
124
+ *added to the message.
125
+ *@param a_msg the msg to trace.
126
+ */
127
+ #define cr_utils_trace_info(a_msg) \
128
+ cr_utils_trace (G_LOG_LEVEL_INFO, a_msg)
129
+
130
+ /**
131
+ *Trace a debug message.
132
+ *The file, line and enclosing function
133
+ *of the message will be automatically
134
+ *added to the message.
135
+ *@param a_msg the msg to trace.
136
+ */
137
+ #define cr_utils_trace_debug(a_msg) \
138
+ cr_utils_trace (G_LOG_LEVEL_DEBUG, a_msg) ;
139
+
140
+
141
+ /****************************
142
+ *Encoding transformations and
143
+ *encoding helpers
144
+ ****************************/
145
+
146
+ enum CRStatus
147
+ cr_utils_read_char_from_utf8_buf (const guchar * a_in, gulong a_in_len,
148
+ guint32 *a_out, gulong *a_consumed) ;
149
+
150
+ enum CRStatus
151
+ cr_utils_ucs1_to_utf8 (const guchar *a_in, gulong *a_in_len,
152
+ guchar *a_out, gulong *a_out_len) ;
153
+
154
+ enum CRStatus
155
+ cr_utils_utf8_to_ucs1 (const guchar * a_in, gulong * a_in_len,
156
+ guchar *a_out, gulong *a_out_len) ;
157
+
158
+ enum CRStatus
159
+ cr_utils_ucs4_to_utf8 (const guint32 *a_in, gulong *a_in_len,
160
+ guchar *a_out, gulong *a_out_len) ;
161
+
162
+ enum CRStatus
163
+ cr_utils_utf8_str_len_as_ucs4 (const guchar *a_in_start,
164
+ const guchar *a_in_end,
165
+ gulong *a_len) ;
166
+ enum CRStatus
167
+ cr_utils_ucs1_str_len_as_utf8 (const guchar *a_in_start,
168
+ const guchar *a_in_end,
169
+ gulong *a_len) ;
170
+ enum CRStatus
171
+ cr_utils_utf8_str_len_as_ucs1 (const guchar *a_in_start,
172
+ const guchar *a_in_end,
173
+ gulong *a_len) ;
174
+ enum CRStatus
175
+ cr_utils_ucs4_str_len_as_utf8 (const guint32 *a_in_start,
176
+ const guint32 *a_in_end,
177
+ gulong *a_len) ;
178
+
179
+ enum CRStatus
180
+ cr_utils_ucs1_str_to_utf8 (const guchar *a_in_start,
181
+ gulong *a_in_len,
182
+ guchar **a_out,
183
+ gulong *a_len) ;
184
+
185
+ enum CRStatus
186
+ cr_utils_utf8_str_to_ucs1 (const guchar * a_in_start,
187
+ gulong * a_in_len,
188
+ guchar **a_out,
189
+ gulong *a_out_len) ;
190
+
191
+ enum CRStatus
192
+ cr_utils_utf8_to_ucs4 (const guchar * a_in,
193
+ gulong * a_in_len,
194
+ guint32 *a_out, gulong *a_out_len) ;
195
+
196
+ enum CRStatus
197
+ cr_utils_ucs4_str_to_utf8 (const guint32 *a_in,
198
+ gulong *a_in_len,
199
+ guchar **a_out, gulong *a_out_len) ;
200
+
201
+ enum CRStatus
202
+ cr_utils_utf8_str_to_ucs4 (const guchar * a_in,
203
+ gulong *a_in_len,
204
+ guint32 **a_out,
205
+ gulong *a_out_len) ;
206
+
207
+
208
+ /*****************************************
209
+ *CSS basic types identification utilities
210
+ *****************************************/
211
+
212
+ gboolean
213
+ cr_utils_is_newline (guint32 a_char) ;
214
+
215
+ gboolean
216
+ cr_utils_is_white_space (guint32 a_char) ;
217
+
218
+ gboolean
219
+ cr_utils_is_nonascii (guint32 a_char) ;
220
+
221
+ gboolean
222
+ cr_utils_is_hexa_char (guint32 a_char) ;
223
+
224
+
225
+ /**********************************
226
+ *Miscellaneous utility functions
227
+ ***********************************/
228
+
229
+ void
230
+ cr_utils_dump_n_chars (guchar a_char,
231
+ FILE *a_fp,
232
+ glong a_nb) ;
233
+
234
+ void
235
+ cr_utils_dump_n_chars2 (guchar a_char,
236
+ GString *a_string,
237
+ glong a_nb) ;
238
+ GList *
239
+ cr_utils_dup_glist_of_string (GList const *a_list) ;
240
+
241
+ GList *
242
+ cr_utils_dup_glist_of_cr_string (GList const * a_list_of_strings) ;
243
+
244
+ G_END_DECLS
245
+
246
+ #endif /*__CR_DEFS_H__*/