pmc/include/surface.h
author Markus Bröker <mbroeker@largo.dyndns.tv>
Thu, 16 Apr 2009 12:49:13 +0200
changeset 54 c064ce9f40f5
parent 46 4b9e1ac40246
permissions -rw-r--r--
Vector and PMC ChangeLog * global var refCounter counts the objects * Copy Constructor implemented -> Surface cannot be copied ==> CC disabled -> Vector can be copied -> shows a warning committer: Markus Bröker <mbroeker@largo.homelinux.org>

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

#ifndef SURFACE_H
#define SURFACE_H

#include <object.h>
#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