Planeshift

pseffectobjtextable.h

Go to the documentation of this file.
00001 /*
00002 * Author: Andrew Robberts
00003 *
00004 * Copyright (C) 2003 Atomic Blue ([email protected], http://www.atomicblue.org)
00005 *
00006 *
00007 * This program is free software; you can redistribute it and/or
00008 * modify it under the terms of the GNU General Public License
00009 * as published by the Free Software Foundation (version 2 of the License)
00010 * This program is distributed in the hope that it will be useful,
00011 * but WITHOUT ANY WARRANTY; without even the implied warranty of
00012 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00013 * GNU General Public License for more details.
00014 * You should have received a copy of the GNU General Public License
00015 * along with this program; if not, write to the Free Software
00016 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
00017 *
00018 */
00019 
00020 #ifndef PS_EFFECT_OBJ_TEXTABLE_HEADER
00021 #define PS_EFFECT_OBJ_TEXTABLE_HEADER
00022 
00023 #include <csutil/csstring.h>
00024 
00029 enum psEffectTextAlignment
00030 {
00031     ETA_LEFT,
00032     ETA_CENTER,
00033     ETA_RIGHT
00034 };
00035 
00036 struct psEffectTextRow
00037 {
00038     csString        text;
00039     int             colour;
00040     bool            hasShadow;
00041     int             shadowColour;
00042     bool            hasOutline;
00043     int             outlineColour;
00044     psEffectTextAlignment   align;
00045 };
00046 
00047 struct psEffectTextElement : public psEffectTextRow
00048 {
00049     int     x;
00050     int     y;
00051     int     width;
00052     int     height;
00053 };
00054 
00055 class psEffectObjTextable
00056 {
00057 public:
00058     virtual bool SetText(const csArray<psEffectTextElement> &elements) = 0;
00059     virtual bool SetText(const csArray<psEffectTextRow> &rows) = 0;
00060     virtual bool SetText(int rows, ...) = 0;
00061     virtual ~psEffectObjTextable() {};
00062 };
00063 
00066 #endif // PS_EFFECT_OBJ_TEXTABLE_HEADER
00067