Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

# Tools/Debugging/View.h File Reference

This file declares the view classes and macros. More...

`#include "Tools/List.h"`
`#include "Tools/Debugging/DebugDrawings.h"`
`#include "Tools/Debugging/DebugImages.h"`

Include dependency graph for View.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

## Classes
class | ImageViewBase
| The class is a base class for image views. More...
class | FieldViewBase
| The class is a base class for field views. More...
## Defines
#define | IMAGE_VIEW(name, background)
| The macro begins the definition of an image view.
#define | FIELD_VIEW(name)
| The macro begins the definition of a field view.
#define | END_VIEW(name)
| The macro finishes the definition of a view.

## Detailed Description

This file declares the view classes and macros.

Author:
  Thomas Röfer

Definition in file View.h.

## Define Documentation

#define IMAGE_VIEW | ( | name,
|  | background |  | ) |

| Value:
    class _View##name : public ImageViewBase\
      { \
        public: \
          static const char* viewName; \
          static Drawings::ImageDrawing layers[]; \
          static int numOfLayers; \
        public: \
        virtual void getInfo(const char*& s,Drawings::ImageDrawing*& l,int& n,Images::ImageID& id) \
            {s = viewName; l = layers + 1; n = numOfLayers; id = Images::background;} \
      } _view##name; \
      const char* _View##name::viewName = "image." #name; \
      Drawings::ImageDrawing _View##name::layers[] = {Drawings::numberOfImageDrawings,
  The macro begins the definition of an image view. It must be followed by a list of Drawings::ImageDrawing constants. These constants define the layers that will be drawn in the view. The list must be finished by the END_VIEW macro. Parameters:
  name | The name of the view.
  name | The background image of the view.
Definition at line 72 of file View.h.

#define FIELD_VIEW | ( | name |  | ) |

| Value:
    class _View##name : public FieldViewBase\
      { \
        public: \
          static const char* viewName; \
          static Drawings::FieldDrawing layers[]; \
          static int numOfLayers; \
        public: \
          virtual void getInfo(const char*& s,Drawings::FieldDrawing*& l,int& n) \
            {s = viewName; l = layers + 1; n = numOfLayers;} \
      } _view##name; \
      const char* _View##name::viewName = "field." #name; \
      Drawings::FieldDrawing _View##name::layers[] = {Drawings::numberOfFieldDrawings,
  The macro begins the definition of a field view. It must be followed by a list of Drawings::FieldDrawing constants. These constants define the layers that will be drawn on the view. The list must be finished by the END_VIEW macro. Parameters:
  name | The name of the view.
Definition at line 93 of file View.h.

#define END_VIEW | ( | name |  | ) |

| Value:
    }; \
      int _View##name::numOfLayers = sizeof(_View##name::layers) / sizeof(_View##name::layers[0]) - 1;
  The macro finishes the definition of a view. Parameters:
  name | The name of the view. It must be the same as used at the beginning of the list.
Definition at line 112 of file View.h.