
org.codelibs.jhighlight.renderer.CppXhtmlRenderer Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of jhighlight Show documentation
Show all versions of jhighlight Show documentation
JHighlight is an embeddable pure Java syntax highlighting
library that supports Java, HTML, XHTML, XML and LZX
languages and outputs to XHTML.
It also supports RIFE templates tags and highlights them
clearly so that you can easily identify the difference
between your RIFE markup and the actual marked up source.
The newest version!
/*
* Copyright 2006 Arnout Engelen
* Copyright 2004-2006 Geert Bevin
* Distributed under the terms of either:
* - the common development and distribution license (CDDL), v1.0; or
* - the GNU Lesser General Public License, v2.1 or later
* $Id: CppXhtmlRenderer.java 3108 2006-03-13 18:03:00Z gbevin $
*/
package org.codelibs.jhighlight.renderer;
import java.util.HashMap;
import java.util.Map;
import org.codelibs.jhighlight.highlighter.CppHighlighter;
import org.codelibs.jhighlight.highlighter.ExplicitStateHighlighter;
/**
* Generates highlighted syntax in XHTML from Cpp source.
*
* @author Arnout Engelen (arnouten[remove] at bzzt dot net)
* @author Geert Bevin (gbevin[remove] at uwyn dot com)
* @version $Revision: 0$
*/
public class CppXhtmlRenderer extends XhtmlRenderer
{
public final static HashMap DEFAULT_CSS = new HashMap() {{
put("h1",
"font-family: sans-serif; " +
"font-size: 16pt; " +
"font-weight: bold; " +
"color: rgb(0,0,0); " +
"background: rgb(210,210,210); " +
"border: solid 1px black; " +
"padding: 5px; " +
"text-align: center;");
put("code",
"color: rgb(0,0,0); " +
"font-family: monospace; " +
"font-size: 12px; " +
"white-space: nowrap;");
put(".cpp_plain",
"color: rgb(0,0,0);");
put(".cpp_keyword",
"color: rgb(0,0,0); " +
"font-weight: bold;");
put(".cpp_type",
"color: rgb(0,44,221);");
put(".cpp_operator",
"color: rgb(0,124,31);");
put(".cpp_separator",
"color: rgb(0,33,255);");
put(".cpp_literal",
"color: rgb(188,0,0);");
put(".cpp_comment",
"color: rgb(147,147,147); " +
"background-color: rgb(247,247,247);");
put(".cpp_doxygen_comment",
"color: rgb(147,147,147); " +
"background-color: rgb(247,247,247); " +
"font-style: italic;");
put(".cpp_doxygen_tag",
"color: rgb(147,147,147); " +
"background-color: rgb(247,247,247); " +
"font-style: italic; " +
"font-weight: bold;");
put(".cpp_preproc",
"color: purple;");
}};
protected Map getDefaultCssStyles()
{
return DEFAULT_CSS;
}
protected String getCssClass(int style)
{
switch (style)
{
case CppHighlighter.PLAIN_STYLE:
return "cpp_plain";
case CppHighlighter.KEYWORD_STYLE:
return "cpp_keyword";
case CppHighlighter.TYPE_STYLE:
return "cpp_type";
case CppHighlighter.OPERATOR_STYLE:
return "cpp_operator";
case CppHighlighter.SEPARATOR_STYLE:
return "cpp_separator";
case CppHighlighter.LITERAL_STYLE:
return "cpp_literal";
case CppHighlighter.CPP_COMMENT_STYLE:
return "cpp_comment";
case CppHighlighter.DOXYGEN_COMMENT_STYLE:
return "cpp_doxygen_comment";
case CppHighlighter.DOXYGEN_TAG_STYLE:
return "cpp_doxygen_tag";
case CppHighlighter.PREPROC_STYLE:
return "cpp_preproc";
}
return null;
}
protected ExplicitStateHighlighter getHighlighter()
{
return new CppHighlighter();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy