Robotcode  1.0
Screen Class Reference

Window that is displayed to the Participant. More...

#include <Screen.h>

List of all members.

Public Member Functions

void init (HINSTANCE hThisInst, int xPos, int yPos, int width, int height, void(*displayFcn)(int))
 Initializes the window.
BOOL createRenderContext (void)
 Rendering context is for openGL drawing commands.
void deleteRenderContext (void)
void clear ()
void lock ()
void unlocked ()
void getSizePixel (int &height, int &width)
 Return the size of the screen in pixel.
Vector2D getCenter (void)
 Return workspace coordinate for center of screen.
void setCenter (Vector2D size)
 Set center of screen in workspace coordinates.
Vector2D getSize (void)
 Return the size (in workspace coordinates)
Vector2D getScale (void)
 Scaling (size of one pixel in Workspace coordinates)
void setScale (Vector2D scale)
 Scaling factor of pixel to coordinate system.
void setColor (int theColor)
 Sets the current drawing color (from list of colors)
void setColor (Color_t theColor)
 Sets the current drawing color (in RGB)
void drawDisk (GLfloat xsize, GLfloat ysize, GLfloat x, GLfloat y)
 Draws a Rectangle.
void drawDisk (Vector2D size, Vector2D pos)
 Draws a Circle.
void drawCircle (GLfloat xsize, GLfloat ysize, GLfloat x, GLfloat y)
void drawCircle (GLfloat xsize, GLfloat ysize, GLfloat x, GLfloat y, int linewidth)
void drawCircle (Vector2D size, Vector2D pos)
void drawSegment (Vector2D size, Vector2D pos, float startang, float endang)
 Draws a circular segment.
void drawRect (GLfloat xsize, GLfloat ysize, GLfloat xpos, GLfloat ypos)
 Draws a Rectangle.
void drawRect (Vector2D size, Vector2D pos)
 Draws a Rectangle.
void drawBox (GLfloat xsize, GLfloat ysize, GLfloat xpos, GLfloat ypos)
 Draws a Filled Rectangle.
void drawBox (Vector2D size, Vector2D pos)
 Draws a Filled Rectangle.
void drawLine (GLfloat xposStart, GLfloat yposStart, GLfloat xposEnd, GLfloat yposEnd, GLfloat width=1)
 Draws a Filled Rectangle.
void drawLine (Vector2D start, Vector2D end)
 Draws a Filled Rectangle.
void drawArrow (Vector2D start, Vector2D end, double headLength)
 Draws an Arrow.
void drawPlus (Vector2D size, Vector2D pos)
 Draws an Plus sign.
void drawHex (Vector2D size, Vector2D pos)
 Draws a regular hexagon.
void drawHexF (Vector2D size, Vector2D pos)
 Draws a filled regular hexagon.
void print (string s, double x, double y, GLfloat magnification)
 Prints a string on the screen.
void print (string s, Vector2D pos, GLfloat magnification)
void printChar (char s, double x, double y, GLfloat magnification)
 Prints a var on the screen.
void switchSetup ()
 switches between setups (L/R reversal)
void close ()
 Closes the window.

Static Public Member Functions

static void reshape (int w, int h)
 Static callback functions.
static void display (HWND hwnd)
 Static callback functions: update Graphics.
static void onKey (unsigned char k, int x, int y)
 Static callback function.
static void setProjection ()
 Sets the Projection matrix, depending on scale and center.

Static Public Attributes

static HWND windowHnd
 Window Handle.
static WNDCLASSEX wcl
static HDC hDeviceContext
static HGLRC hRenderContext
static void(* updateGraphics )(int)
static Color_t black = {0,0,0}
 BLACK: 0.
static Color_t white = {255,255,255}
static Color_t red = {200,0,0}
static Color_t green = {0,220,100}
static Color_t blue = {20,20,255}
static Color_t grey = {180,180,180}
static Color_t salmon = {255,160,122}
static Color_t yellow = {255,255,0}
static Color_t pale = {80,60,0}
static Color_t lightblue = {100,100,255}
static bool keyPressed = 0
static char key
static double lastTime
static double lastCycle
static bool isLocked
static int circlelist
static int rectlist
static int disklist
static int boxlist
static int hexlist
static int hexFlist
static Vector2D scale
 What is the size of a pixel in workspace coordinates?
static Vector2D center
 What workspace coordinate is in the middle of the screen?
static int windowWidth
 What is the width of the window in pixel?
static int windowHeight
 What is the height of the window in pixel?

Detailed Description

Window that is displayed to the Participant.

Screen implements a Window without a frame. It has a scale parameter, that influences the projection, so that all drawing commands can be performed in the Workspace of the robot, i.e. in cm.

Member Function Documentation

void Screen::drawSegment ( Vector2D  size,
Vector2D  pos,
float  startang,
float  endang 

Draws a circular segment.

Draws a segement from startang to endang (in degrees, 0 is up) Does not use a precompiled display list

sizex and y size of the ellipse
positionin workspace
startangangle to start at (goes clockwise)
endendangle to end with
void Screen::drawRect ( GLfloat  xsize,
GLfloat  ysize,
GLfloat  xpos,
GLfloat  ypos 

Draws a Rectangle.

Draws a rectangle on the screen.

xsizewidth of the rectangle
ysizeheight of the rectangle
xposposition of the center of the rectangle
yposposition of the center of the rectangle
void Screen::print ( string  s,
Vector2D  pos,
GLfloat  magnification 
) [inline]
magnificationPrints a string on the screen

The documentation for this class was generated from the following files: