git repos / blockattack-game

blame: source/code/ttfont.h

normal view · raw

89c4a3a6 sago007 2008-08-29 14:32 1
/*
89c4a3a6 sago007 2008-08-29 14:32 2
Block Attack - Rise of the Blocks, SDL game, besed on Nintendo's Tetris Attack
89c4a3a6 sago007 2008-08-29 14:32 3
Copyright (C) 2008 Poul Sander
89c4a3a6 sago007 2008-08-29 14:32 4
89c4a3a6 sago007 2008-08-29 14:32 5
    This program is free software; you can redistribute it and/or modify
89c4a3a6 sago007 2008-08-29 14:32 6
    it under the terms of the GNU General Public License as published by
89c4a3a6 sago007 2008-08-29 14:32 7
    the Free Software Foundation; either version 2 of the License, or
89c4a3a6 sago007 2008-08-29 14:32 8
    (at your option) any later version.
89c4a3a6 sago007 2008-08-29 14:32 9
89c4a3a6 sago007 2008-08-29 14:32 10
    This program is distributed in the hope that it will be useful,
89c4a3a6 sago007 2008-08-29 14:32 11
    but WITHOUT ANY WARRANTY; without even the implied warranty of
89c4a3a6 sago007 2008-08-29 14:32 12
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
89c4a3a6 sago007 2008-08-29 14:32 13
    GNU General Public License for more details.
89c4a3a6 sago007 2008-08-29 14:32 14
89c4a3a6 sago007 2008-08-29 14:32 15
    You should have received a copy of the GNU General Public License
89c4a3a6 sago007 2008-08-29 14:32 16
    along with this program; if not, write to the Free Software
89c4a3a6 sago007 2008-08-29 14:32 17
    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
89c4a3a6 sago007 2008-08-29 14:32 18
89c4a3a6 sago007 2008-08-29 14:32 19
    Poul Sander
89c4a3a6 sago007 2008-08-29 14:32 20
    R�vehjvej 36, V. 1111
89c4a3a6 sago007 2008-08-29 14:32 21
    2800 Kgs. Lyngby
89c4a3a6 sago007 2008-08-29 14:32 22
    DENMARK
89c4a3a6 sago007 2008-08-29 14:32 23
    blockattack@poulsander.com
89c4a3a6 sago007 2008-08-29 14:32 24
    http://blockattack.sf.net
89c4a3a6 sago007 2008-08-29 14:32 25
*/
89c4a3a6 sago007 2008-08-29 14:32 26
89c4a3a6 sago007 2008-08-29 14:32 27
// 
89c4a3a6 sago007 2008-08-29 14:32 28
// File:   ttfont.hpp.h
89c4a3a6 sago007 2008-08-29 14:32 29
// Author: poul
89c4a3a6 sago007 2008-08-29 14:32 30
//
89c4a3a6 sago007 2008-08-29 14:32 31
// Created on 25. december 2007, 13:52
89c4a3a6 sago007 2008-08-29 14:32 32
//
89c4a3a6 sago007 2008-08-29 14:32 33
89c4a3a6 sago007 2008-08-29 14:32 34
#ifndef _TTFONT_H
89c4a3a6 sago007 2008-08-29 14:32 35
#define	_TTFONT_H
89c4a3a6 sago007 2008-08-29 14:32 36
89c4a3a6 sago007 2008-08-29 14:32 37
#include <stdlib.h>
89c4a3a6 sago007 2008-08-29 14:32 38
#include <iostream>
89c4a3a6 sago007 2008-08-29 14:32 39
#include <string>
89c4a3a6 sago007 2008-08-29 14:32 40
#include "SDL.h"
89c4a3a6 sago007 2008-08-29 14:32 41
#include "SDL_ttf.h"        //To use True Type Fonts in SDL
89c4a3a6 sago007 2008-08-29 14:32 42
89c4a3a6 sago007 2008-08-29 14:32 43
using namespace std;
89c4a3a6 sago007 2008-08-29 14:32 44
89c4a3a6 sago007 2008-08-29 14:32 45
class TTFont
89c4a3a6 sago007 2008-08-29 14:32 46
{
89c4a3a6 sago007 2008-08-29 14:32 47
private:
89c4a3a6 sago007 2008-08-29 14:32 48
    static int count; //The total number of instances
89c4a3a6 sago007 2008-08-29 14:32 49
    TTF_Font *font;
89c4a3a6 sago007 2008-08-29 14:32 50
    bool actualInstance;
89c4a3a6 sago007 2008-08-29 14:32 51
    
89c4a3a6 sago007 2008-08-29 14:32 52
public:
89c4a3a6 sago007 2008-08-29 14:32 53
    TTFont();
89c4a3a6 sago007 2008-08-29 14:32 54
    TTFont(TTF_Font *f);
89c4a3a6 sago007 2008-08-29 14:32 55
    TTFont(const TTFont &t);
89c4a3a6 sago007 2008-08-29 14:32 56
    ~TTFont();
89c4a3a6 sago007 2008-08-29 14:32 57
    
89c4a3a6 sago007 2008-08-29 14:32 58
    int getTextWidth(string text);
89c4a3a6 sago007 2008-08-29 14:32 59
    int getTextHeight();
89c4a3a6 sago007 2008-08-29 14:32 60
    void writeText(string text, SDL_Surface *target, int x, int y);
89c4a3a6 sago007 2008-08-29 14:32 61
    
89c4a3a6 sago007 2008-08-29 14:32 62
};
89c4a3a6 sago007 2008-08-29 14:32 63
89c4a3a6 sago007 2008-08-29 14:32 64
#endif	/* _TTFONT_H */
89c4a3a6 sago007 2008-08-29 14:32 65
1970-01-01 00:00 66