Initialize FreeType, link to it.
authorSteinar H. Gunderson <sesse@samfundet.no>
Sat, 19 Feb 2005 02:34:15 +0000 (02:34 +0000)
committerSteinar H. Gunderson <sesse@samfundet.no>
Sat, 19 Feb 2005 02:34:15 +0000 (02:34 +0000)
bigscreen/Makefile
bigscreen/ccbs_bigscreen.cpp

index 9ad6ad1..07201d5 100644 (file)
@@ -1,9 +1,9 @@
 CC=gcc
 CXX=g++
-CPPFLAGS=-I/usr/include/postgresql
+CPPFLAGS=-I/usr/include/postgresql $(shell freetype-config --cflags)
 CXXFLAGS=-g -Wall
 LDFLAGS=-L/usr/X11R6/lib
-LIBS=-lGL -lX11 -lXext -lXxf86vm $(shell libpq3-config) -lpqxx
+LIBS=-lGL -lX11 -lXext -lXxf86vm $(shell freetype-config --libs) $(shell libpq3-config) -lpqxx
 CCBS_BIGSCREEN_OBJS=ccbs_bigscreen.o glwindow.o
 
 all: ccbs-bigscreen
index 17b71df..5df9dcd 100644 (file)
@@ -3,6 +3,9 @@
 #include <iconv.h>
 #include <unistd.h>
 #include <pqxx/pqxx>
+#include <ft2build.h>
+#include FT_FREETYPE_H
+
 #include "glwindow.h"
 
 iconv_t ucs4_iconv;
@@ -81,6 +84,7 @@ public:
 };
 
 Tournament active_tournament;
+FT_Face font;
 
 /* A trigger that sets a flag whenever it's trigged. */
 class FlagTrigger : pqxx::trigger {
@@ -163,12 +167,25 @@ void main_loop(pqxx::connection &conn)
        sleep(1);
 }
 
+void init_freetype()
+{
+       FT_Library library;
+       if (FT_Init_FreeType(&library))
+               throw std::logic_error("FreeType init failed.");
+       if (FT_New_Face(library, "/usr/share/fonts/truetype/msttcorefonts/Georgia.ttf", 0, &font))
+               throw std::logic_error("Face opening failed.");
+       if (FT_Set_Char_Size(font, 0, 12, 96, 96))
+               throw std::logic_error("Size set failed.");
+}
+
 int main(int argc, char **argv)
 {
        ucs4_iconv = iconv_open("ucs-4", "utf-8");
        
        GLWindow glw("CCBS bigscreen", 800, 600, 32, false, 16, -1);
+       
        try {
+               init_freetype();
                pqxx::connection conn("dbname=ccbs host=altersex.samfundet.no user=ccbs password=GeT|>>B_");
                FlagTrigger tournament_changed(conn, "active_tournament");