summaryrefslogtreecommitdiff
path: root/bitmap.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'bitmap.cpp')
-rw-r--r--bitmap.cpp94
1 files changed, 1 insertions, 93 deletions
diff --git a/bitmap.cpp b/bitmap.cpp
index f41ca73..2021c2a 100644
--- a/bitmap.cpp
+++ b/bitmap.cpp
@@ -3,7 +3,7 @@
*
* See the README file for copyright information and how to reach the author.
*
- * $Id: bitmap.cpp 11 2005-10-28 01:00:01Z tom $
+ * $Id: bitmap.cpp 27 2006-04-25 00:08:15Z tom $
*/
#include "bitmap.h"
@@ -12,12 +12,6 @@
#include <vdr/osd.h>
#include <ctype.h>
-// Compatibility to older vdr versions
-#if VDRVERSNUM < 10307
- #define tColor eDvbColor
- #define DrawRectangle Fill
-#endif
-
using namespace SudokuPlugin;
@@ -43,31 +37,6 @@ void Bitmap::text(const char* text, bool centered)
{
DrawRectangle(0, 0, Width() - 1, Height() - 1, clrWhite);
frame(0, 0, Width() - 1, Height() - 1, clrRed);
-
-#if VDRVERSNUM < 10307
- SetFont(fontOsd);
- int lineCount;
- char* wrapper = textWrapper(text, &lineCount);
- int y = max((Height() - lineCount * cOsd::LineHeight()) / 2, 0);
- char* line = wrapper;
- while (*line)
- {
- char* newline = strchr(line, '\n');
- if (newline)
- *newline = 0;
- int x = 0;
- if (centered)
- x = max((Width() - Width(line)) / 2, 0);
- Text(x, y, line, clrBlack, clrWhite);
- if (newline)
- *newline = '\n';
- if (!newline)
- break;
- line = newline + 1;
- y += cOsd::LineHeight();
- }
- free(wrapper);
-#else
const cFont* font = cFont::GetFont(fontOsd);
cTextWrapper wrapper(text, font, Width());
int y = max((Height() - wrapper.Lines() * font->Height()) / 2, 0);
@@ -78,7 +47,6 @@ void Bitmap::text(const char* text, bool centered)
x = max((Width() - font->Width(wrapper.GetLine(l))) / 2, 0);
DrawText(x, y, wrapper.GetLine(l), clrBlack, clrWhite, font);
}
-#endif
}
/** Draw a frame into the bitmap. */
@@ -89,63 +57,3 @@ void Bitmap::frame(int x1, int y1, int x2, int y2, tColor frameColor)
DrawRectangle(x1, y2 - 1, x2, y2, frameColor);
DrawRectangle(x2 - 1, y1, x2, y2, frameColor);
}
-
-#if VDRVERSNUM < 10307
-/** Wrap the text to fit into the bitmap (taken from font.c / VDR 1.3.7). */
-char *Bitmap::textWrapper(const char *Text, int *p_lines)
-{
- char *text = strdup(Text);
- int lines = 1;
-
- char *Blank = NULL;
- char *Delim = NULL;
- int w = 0;
-
- stripspace(text); // strips trailing newlines
-
- for (char *p = text; *p; ) {
- if (*p == '\n') {
- lines++;
- w = 0;
- Blank = Delim = NULL;
- p++;
- continue;
- }
- else if (isspace(*p))
- Blank = p;
- int cw = Width(*p);
- if (w + cw > Width()) {
- if (Blank) {
- *Blank = '\n';
- p = Blank;
- continue;
- }
- else {
- // Here's the ugly part, where we don't have any whitespace to
- // punch in a newline, so we need to make room for it:
- if (Delim)
- p = Delim + 1; // let's fall back to the most recent delimiter
- char *s = MALLOC(char, strlen(text) + 2); // The additional '\n' plus the terminating '\0'
- int l = p - text;
- strncpy(s, text, l);
- s[l] = '\n';
- strcpy(s + l + 1, p);
- free(text);
- text = s;
- p = text + l;
- continue;
- }
- }
- else
- w += cw;
- if (strchr("-.,:;!?_", *p)) {
- Delim = p;
- Blank = NULL;
- }
- p++;
- }
- if (p_lines != NULL)
- *p_lines = lines;
- return text;
-}
-#endif