OSDN Git Service

* Added pre tag with CSS for CHTML1.0 converter.
authorkonn <konn@1a406e8e-add9-4483-a2c8-d8cac5b7c224>
Tue, 8 Jul 2008 12:01:28 +0000 (12:01 +0000)
committerkonn <konn@1a406e8e-add9-4483-a2c8-d8cac5b7c224>
Tue, 8 Jul 2008 12:01:28 +0000 (12:01 +0000)
git-svn-id: svn+ssh://svn.sourceforge.jp/svnroot/modchxj/mod_chxj/branches/sandbox@2837 1a406e8e-add9-4483-a2c8-d8cac5b7c224

src/chxj_chtml10.c

index e3f25cc..d855d57 100644 (file)
@@ -2673,16 +2673,31 @@ s_chtml10_chxjif_tag(void *pdoc, Node *node)
  * @return The conversion result is returned.
  */
 static char *
-s_chtml10_start_pre_tag(void *pdoc, Node *UNUSED(node)) 
+s_chtml10_start_pre_tag(void *pdoc, Node *node)
 {
   Doc         *doc;
   request_rec *r;
   chtml10_t   *chtml10;
+  Attr        *attr;
+  char        *attr_style = NULL;
 
   chtml10 = GET_CHTML10(pdoc);
   doc     = chtml10->doc;
   r       = doc->r;
 
+  for (attr = qs_get_attr(doc,node);
+       attr;
+       attr = qs_get_next_attr(doc,attr)) {
+    char *nm  = qs_get_attr_name(doc,attr);
+    char *val = qs_get_attr_value(doc,attr);
+    if (val && STRCASEEQ('s','S',"style", nm)) {
+      attr_style = val;
+    }
+  }
+
+  if (IS_CSS_ON(chtml10->entryp)) {
+    s_chtml10_push_and_get_now_style(pdoc, node, attr_style);
+  }
   chtml10->pre_flag++;
   W_L("<pre>");
   return chtml10->out;
@@ -2710,6 +2725,9 @@ s_chtml10_end_pre_tag(void *pdoc, Node *UNUSED(child))
 
   W_L("</pre>");
   chtml10->pre_flag--;
+  if (IS_CSS_ON(chtml10->entryp)) {
+    chxj_css_pop_prop_list(chtml10->css_prop_stack);
+  }
 
   return chtml10->out;
 }