aboutsummaryrefslogtreecommitdiff
path: root/sword2/maketext.h
diff options
context:
space:
mode:
Diffstat (limited to 'sword2/maketext.h')
-rw-r--r--sword2/maketext.h119
1 files changed, 0 insertions, 119 deletions
diff --git a/sword2/maketext.h b/sword2/maketext.h
deleted file mode 100644
index 364a412857..0000000000
--- a/sword2/maketext.h
+++ /dev/null
@@ -1,119 +0,0 @@
-/* Copyright (C) 1994-1998 Revolution Software Ltd.
- * Copyright (C) 2003-2006 The ScummVM project
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- *
- * $URL$
- * $Id$
- */
-
-#ifndef _MAKETEXT_H
-#define _MAKETEXT_H
-
-#include "sword2/debug.h"
-
-namespace Sword2 {
-
-// Output colour for character border - should be be black but note that we
-// have to use a different pen number during sequences
-
-#define BORDER_PEN 194
-
-// Usually the only texts on screen are the subtitles and the mouse-over text,
-// but there can also be a considerable number of debugging messages...
-
-#define MAX_text_blocs MAX_DEBUG_TEXTS + 1
-
-enum {
- // Doesn't keep the text inside the screen - only for debug text!
- NO_JUSTIFICATION = 0,
-
- // These all force text inside the screen edge margin when necessary
- POSITION_AT_CENTRE_OF_BASE = 1,
- POSITION_AT_CENTRE_OF_TOP = 2,
- POSITION_AT_LEFT_OF_TOP = 3,
- POSITION_AT_RIGHT_OF_TOP = 4,
- POSITION_AT_LEFT_OF_BASE = 5,
- POSITION_AT_RIGHT_OF_BASE = 6,
- POSITION_AT_LEFT_OF_CENTRE = 7,
- POSITION_AT_RIGHT_OF_CENTRE = 8
-};
-
-enum {
- DEFAULT_TEXT = 0,
- FINNISH_TEXT = 1,
- POLISH_TEXT = 2
-};
-
-// Info about the text, used to create the SpriteInfo struct
-
- struct TextBloc {
- int16 x;
- int16 y;
- uint16 type;
- byte *text_mem;
-};
-
-// Info for each line of words in the output text sprite
-
-struct LineInfo {
- uint16 width; // Width in pixels
- uint16 length; // Length in characters
-};
-
-class FontRenderer {
-private:
- Sword2Engine *_vm;
- TextBloc _blocList[MAX_text_blocs];
-
- // Layout variables - these used to be defines, but now we're dealing
- // with three character sets
-
- int8 _lineSpacing; // no. of pixels to separate lines of
- // characters in the output sprite - negative
- // for overlap
- int8 _charSpacing; // no. of pixels to separate characters along
- // each line - negative for overlap
- uint8 _borderPen; // output pen colour of character borders
-
- uint16 analyseSentence(byte *sentence, uint16 maxWidth, uint32 fontRes, LineInfo *line);
- byte *buildTextSprite(byte *sentence, uint32 fontRes, uint8 pen, LineInfo *line, uint16 noOfLines);
- uint16 charWidth(byte ch, uint32 fontRes);
- uint16 charHeight(uint32 fontRes);
- byte *findChar(byte ch, byte *charSet);
- void copyChar(byte *charPtr, byte *spritePtr, uint16 spriteWidth, uint8 pen);
-
-public:
- FontRenderer(Sword2Engine *vm) : _vm(vm) {
- for (int i = 0; i < MAX_text_blocs; i++)
- _blocList[i].text_mem = NULL;
- }
-
- ~FontRenderer() {
- for (int i = 0; i < MAX_text_blocs; i++)
- free(_blocList[i].text_mem);
- }
-
- byte *makeTextSprite(byte *sentence, uint16 maxWidth, uint8 pen, uint32 fontRes, uint8 border = BORDER_PEN);
-
- void killTextBloc(uint32 bloc_number);
- void printTextBlocs();
-
- uint32 buildNewBloc(byte *ascii, int16 x, int16 y, uint16 width, uint8 pen, uint32 type, uint32 fontRes, uint8 justification);
-};
-
-} // End of namespace Sword2
-
-#endif