trace: Add missing XSL and CSS.
authorJosé Fonseca <jrfonseca@tungstengraphics.com>
Wed, 6 Aug 2008 20:39:25 +0000 (21:39 +0100)
committerJosé Fonseca <jrfonseca@tungstengraphics.com>
Thu, 7 Aug 2008 17:58:30 +0000 (18:58 +0100)
src/gallium/drivers/trace/trace.css [new file with mode: 0644]
src/gallium/drivers/trace/trace.xsl [new file with mode: 0644]

diff --git a/src/gallium/drivers/trace/trace.css b/src/gallium/drivers/trace/trace.css
new file mode 100644 (file)
index 0000000..d92c433
--- /dev/null
@@ -0,0 +1,72 @@
+/****************************************************************************
+ *
+ * Copyright 2008 Tungsten Graphics, Inc.
+ *
+ * This program is free software: you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as published
+ * by the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ *
+ ****************************************************************************/
+
+body {
+       font-family: verdana, sans-serif;
+       font-size: 11px;
+       font-weight: normal;
+       text-align : left;
+}
+
+ul.calls {
+       list-style: none;
+       margin-left: 0px;
+       padding-left: 0px;
+}
+
+ul.args {
+       display:inline;
+       list-style: none;
+       margin-left: 0px;
+       padding-left: 0px;
+}
+
+ul.args li {
+       display:inline;
+}
+
+ul.elems {
+       list-style: none;
+       margin-left: 2em;
+       padding-left: 0px;
+}
+
+ul.elems li {
+       display:block;
+}
+
+.fun {
+       font-weight: bold;
+}
+
+.var {
+       font-style: italic;
+}
+
+.typ {
+       display: none;
+}
+
+.lit {
+       color: #0000ff;
+}
+
+.ptr {
+       color: #008000;
+}
diff --git a/src/gallium/drivers/trace/trace.xsl b/src/gallium/drivers/trace/trace.xsl
new file mode 100644 (file)
index 0000000..ace4020
--- /dev/null
@@ -0,0 +1,114 @@
+<?xml version="1.0"?>
+
+<!--
+
+Copyright 2008 Tungsten Graphics, Inc.
+
+This program is free software: you can redistribute it and/or modify it
+under the terms of the GNU Lesser General Public License as published
+by the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public License
+along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+!-->
+
+<xsl:transform version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+
+       <xsl:output method="html" />
+
+       <xsl:strip-space elements="*" />
+
+       <xsl:template match="/trace">
+               <html>
+                       <head>
+                               <title>Gallium Trace</title>
+                               <link rel="stylesheet" type="text/css" href="trace.css"/>
+                       </head>
+                       <body>
+                               <ul class="calls">
+                                       <xsl:apply-templates/>
+                               </ul>
+                       </body>
+               </html>
+       </xsl:template>
+
+       <xsl:template match="call">
+               <li>
+                       <span class="fun">
+                               <xsl:value-of select="@class"/>
+                               <xsl:text>::</xsl:text>
+                               <xsl:value-of select="@method"/>
+                       </span>
+                       <xsl:text>(</xsl:text>
+                       <ul class="args">
+                               <xsl:apply-templates select="arg"/>
+                       </ul>
+                       <xsl:text>)</xsl:text>
+                       <xsl:apply-templates select="ret"/>
+               </li>
+       </xsl:template>
+
+       <xsl:template match="arg|member">
+               <li>
+                       <xsl:apply-templates select="@name"/>
+                       <xsl:text> = </xsl:text>
+                       <xsl:apply-templates />
+                       <xsl:if test="position() != last()">
+                               <xsl:text>, </xsl:text>
+                       </xsl:if>
+               </li>
+       </xsl:template>
+
+       <xsl:template match="ret">
+               <xsl:text> = </xsl:text>
+               <xsl:apply-templates />
+       </xsl:template>
+
+       <xsl:template match="bool|int|uint">
+               <span class="lit">
+                       <xsl:value-of select="text()"/>
+               </span>
+       </xsl:template>
+
+       <xsl:template match="string">
+               <span class="lit">
+                       <xsl:text>"</xsl:text>
+                       <xsl:value-of select="text()"/>
+                       <xsl:text>"</xsl:text>
+               </span>
+       </xsl:template>
+
+       <xsl:template match="array|struct">
+               <xsl:text>{</xsl:text>
+               <xsl:apply-templates />
+               <xsl:text>}</xsl:text>
+       </xsl:template>
+
+       <xsl:template match="elem">
+               <li>
+                       <xsl:apply-templates />
+                       <xsl:if test="position() != last()">
+                               <xsl:text>, </xsl:text>
+                       </xsl:if>
+               </li>
+       </xsl:template>
+
+       <xsl:template match="ptr">
+               <span class="ptr">
+                       <xsl:value-of select="text()"/>
+               </span>
+       </xsl:template>
+
+       <xsl:template match="@name">
+               <span class="var">
+                       <xsl:value-of select="."/>
+               </span>
+       </xsl:template>
+</xsl:transform>