//////////////////////////////////////////////////////////////////////////////
//
// RTF.h
//
// Copyright (c) 2002 Rebellion. All rights reserved.
//
// Description:
//
//     RTF control words, etc.
//
//////////////////////////////////////////////////////////////////////////////

// B E G I N   F I L E   W R A P P E R ///////////////////////////////////////

#ifdef ASURA_USE_PRAGMA_ONCE
    #pragma once
#endif

#ifndef ___RTF_H___
#define ___RTF_H___ 1

// M A C R O S ///////////////////////////////////////////////////////////////

// These *must* appear in all documents.
#define DMADEBUG_RTF_MINIMAL_HEADER "{\\rtf\\ansi\\deff0 "
#define DMADEBUG_RTF_MINIMAL_FOOTER "}"

// This must be included in document in order for colour codes below to work.
#define DMADEBUG_RTF_COLOUR_TABLE "{\\colortbl"                                       \
                                  ";"                            /* (auto)     [0] */ \
                                  "\\red0\\green0\\blue0;"       /* Black      [1] */ \
                                  "\\red240\\green10\\blue10;"   /* Red        [2] */ \
                                  "\\red10\\green240\\blue10;"   /* Green      [3] */ \
                                  "\\red255\\green255\\blue10;"  /* Yellow     [4] */ \
                                  "\\red10\\green240\\blue10;"   /* Blue       [5] */ \
                                  "\\red200\\green10\\blue200;"  /* Purple     [6] */ \
                                  "\\red75\\green190\\blue255;"  /* Cyan       [7] */ \
                                  "\\red192\\green192\\blue192;" /* Light grey [8] */ \
                                  "} "

// Available fonts.
#define DMADEBUG_RTF_FONT_TABLE "{\\fonttbl"                                               \
                                "{\\f0\\fmodern\\fcharset0\\fprq1 Courier New;}" /* [0] */ \
                                "} "

// Suggested font. Note that the font size is specified in half-points.
#define DMADEBUG_RTF_FONT_DEFAULT "\\f0\\fs12 "

// Most documents will just want to use these versions.
#define DMADEBUG_RTF_STD_HEADER DMADEBUG_RTF_MINIMAL_HEADER DMADEBUG_RTF_COLOUR_TABLE DMADEBUG_RTF_FONT_TABLE DMADEBUG_RTF_FONT_DEFAULT
#define DMADEBUG_RTF_STD_FOOTER DMADEBUG_RTF_MINIMAL_FOOTER

// Foreground colours.
#define DMADEBUG_RTF_COLOUR_FG_AUTO       "\\cf0 "
#define DMADEBUG_RTF_COLOUR_FG_BLACK      "\\cf1 "
#define DMADEBUG_RTF_COLOUR_FG_RED        "\\cf2 "
#define DMADEBUG_RTF_COLOUR_FG_GREEN      "\\cf3 "
#define DMADEBUG_RTF_COLOUR_FG_YELLOW     "\\cf4 "
#define DMADEBUG_RTF_COLOUR_FG_BLUE       "\\cf5 "
#define DMADEBUG_RTF_COLOUR_FG_PURPLE     "\\cf6 "
#define DMADEBUG_RTF_COLOUR_FG_CYAN       "\\cf7 "
#define DMADEBUG_RTF_COLOUR_FG_LIGHT_GREY "\\cf8 "

// Background colours.
#define DMADEBUG_RTF_COLOUR_BG_AUTO       "\\cb0 "
#define DMADEBUG_RTF_COLOUR_BG_BLACK      "\\cb1 "
#define DMADEBUG_RTF_COLOUR_BG_RED        "\\cb2 "
#define DMADEBUG_RTF_COLOUR_BG_GREEN      "\\cb3 "
#define DMADEBUG_RTF_COLOUR_BG_YELLOW     "\\cb4 "
#define DMADEBUG_RTF_COLOUR_BG_BLUE       "\\cb5 "
#define DMADEBUG_RTF_COLOUR_BG_PURPLE     "\\cb6 "
#define DMADEBUG_RTF_COLOUR_BG_CYAN       "\\cb7 "
#define DMADEBUG_RTF_COLOUR_BG_LIGHT_GREY "\\cb8 "

// Font styles.
#define DMADEBUG_RTF_FONT_NORM      "\\b0\\ul0 "
#define DMADEBUG_RTF_FONT_BOLD      "\\b "
#define DMADEBUG_RTF_FONT_UNDERLINE "\\ul "

// Colour aliases.
#define DMADEBUG_RTF_COLOUR_NORMAL      DMADEBUG_RTF_COLOUR_FG_AUTO DMADEBUG_RTF_COLOUR_BG_AUTO
#define DMADEBUG_RTF_COLOUR_DATA        DMADEBUG_RTF_COLOUR_FG_GREEN
#define DMADEBUG_RTF_COLOUR_ADDRESS     DMADEBUG_RTF_COLOUR_FG_YELLOW
#define DMADEBUG_RTF_COLOUR_VERBOSE     DMADEBUG_RTF_COLOUR_FG_CYAN
#define DMADEBUG_RTF_COLOUR_MEMCONTENTS DMADEBUG_RTF_COLOUR_FG_PURPLE
#define DMADEBUG_RTF_COLOUR_FIELDNAME   DMADEBUG_RTF_COLOUR_FG_LIGHT_GREY

// Colour shortcuts.
#define DMADEBUG_RTF_COLOUR_ERROR       DMADEBUG_RTF_COLOUR_FG_BLACK DMADEBUG_RTF_COLOUR_BG_RED
#define DMADEBUG_RTF_COLOUR_WARNING     DMADEBUG_RTF_COLOUR_FG_BLACK DMADEBUG_RTF_COLOUR_BG_YELLOW
#define DMADEBUG_RTF_COLOUR_DMATITLE    DMADEBUG_RTF_COLOUR_FG_BLACK DMADEBUG_RTF_COLOUR_BG_GREEN
#define DMADEBUG_RTF_COLOUR_VIFTITLE    DMADEBUG_RTF_COLOUR_FG_BLACK DMADEBUG_RTF_COLOUR_BG_LIGHT_GREY
#define DMADEBUG_RTF_COLOUR_GIFTAGTITLE DMADEBUG_RTF_COLOUR_FG_BLACK DMADEBUG_RTF_COLOUR_BG_CYAN
#define DMADEBUG_RTF_COLOUR_GSREGTITLE  DMADEBUG_RTF_COLOUR_FG_BLACK DMADEBUG_RTF_COLOUR_BG_PURPLE

// Overall text control.
#define DMADEBUG_RTF_TEXT_RESET DMADEBUG_RTF_FONT_NORM DMADEBUG_RTF_COLOUR_NORMAL

// E N D   F I L E   W R A P P E R ///////////////////////////////////////////

#endif // #ifndef ___RTF_H___
