pmc/include/surface.hpp
author Markus Brökers <mbroeker@largo.homelinux.org>
Mon, 30 Aug 2010 15:21:47 +0200
changeset 146 0ffa20c26b2d
parent 65 76514757b0d6
permissions -rw-r--r--
gauss.c: set a proper accuracy value: 1E-6

/**
 * test/demos/pmc/include/surface.h
 * Copyright (C) 2008 Markus Broeker
 */

#ifndef SURFACE_H
#define SURFACE_H

#include <object.hpp>
#include <SDL/SDL.h>

class Surface:public Object {
  private:
    int width;
    int height;
    int depth;
    int bpp;

    Uint32 color, red, green, blue, black;
    SDL_Surface *screen;

  public:
    enum foregroundColor { BLACK = 1, RED, GREEN, BLUE };

    Surface (int w, int h, int d);
    Surface (const Surface &) { /* Copy Constructor disabled */ };
    virtual ~Surface ();

    int getWidth () { return width; };
    int getHeight () { return height; };

    void drawPixel (int x, int y);
    void drawLine (int x1, int y1, int x2, int y2);

    void flip ();
    void setColor (enum foregroundColor);
};
#endif