X-Git-Url: http://git.mutantstargoat.com?a=blobdiff_plain;f=src%2Ftext.cc;h=7dbae5d31195acbfe85c923c5e3407bbbcd5e1e8;hb=9261ecb0ad85bdf8b21e17b7309ddaeb76a57d96;hp=b79e6f83d0815c506175177bc7275e17d5060517;hpb=5984d5479693fd7519674a5bc40ebf804f8d0a46;p=winnie
diff --git a/src/text.cc b/src/text.cc
index b79e6f8..7dbae5d 100644
--- a/src/text.cc
+++ b/src/text.cc
@@ -1,8 +1,31 @@
+/*
+winnie - an experimental window system
+
+Copyright (C) 2013 Eleni Maria Stea
+
+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 3 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, see .
+
+Author: Eleni Maria Stea
+*/
+
#include
#include
#include "gfx.h"
+#include "shalloc.h"
#include "text.h"
+#include "winnie.h"
#define DPI 72
#define FONT_PATH "/usr/share/fonts/truetype/ttf-dejavu/DejaVuSansMono.ttf"
@@ -17,14 +40,16 @@ struct Text {
int text_color[3];
};
-Text *text;
+static Text *text;
bool init_text()
{
- if(!(text = (Text*)malloc(sizeof *text))) {
+ if(!(text = (Text*)sh_malloc(sizeof *text))) {
return false;
}
+ get_subsys()->text_offset = (int)((char*)text - (char*)get_pool());
+
if(FT_Init_FreeType(&text->ft_lib)) {
fprintf(stderr, "Failed to initialize the FreeType library!\n");
return false;
@@ -45,6 +70,11 @@ bool init_text()
return true;
}
+void destroy_text()
+{
+ sh_free(text);
+}
+
void draw_text(const char *txt, Pixmap *pixmap)
{
if(!pixmap) {