From c14492796eaf4b539304fd841138bb7688c4c8cb Mon Sep 17 00:00:00 2001 From: David Herrmann Date: Thu, 3 Jan 2013 16:30:40 +0100 Subject: [PATCH] kmscon: add pango module The pango module registers the pango font-backend with kmscon. Signed-off-by: David Herrmann --- Makefile.am | 26 ++++++++++++++++++++++ src/kmscon_mod_pango.c | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 84 insertions(+) create mode 100644 src/kmscon_mod_pango.c diff --git a/Makefile.am b/Makefile.am index bd2faf6..e05da1f 100644 --- a/Makefile.am +++ b/Makefile.am @@ -401,6 +401,32 @@ libtext_font_pango_la_LIBADD = \ libtsm.la # +# Kmscon Modules +# + +if BUILD_ENABLE_FONT_PANGO +module_LTLIBRARIES += mod-pango.la +endif + +mod_pango_la_SOURCES = \ + $(SHL_DLIST) \ + $(SHL_HASHTABLE) \ + src/kmscon_module_interface.h \ + src/githead.h \ + src/text_font_pango.c \ + src/kmscon_mod_pango.c +mod_pango_la_CPPFLAGS = \ + $(AM_CPPFLAGS) \ + $(PANGO_CFLAGS) +mod_pango_la_LIBADD = \ + $(PANGO_LIBS) \ + -lpthread \ + libtsm.la +mod_pango_la_LDFLAGS = \ + -module \ + -avoid-version + +# # Binaries # These are the sources for the main binaries and test programs. They mostly # consists of a single source file only and include all the libraries that are diff --git a/src/kmscon_mod_pango.c b/src/kmscon_mod_pango.c new file mode 100644 index 0000000..fa79b5e --- /dev/null +++ b/src/kmscon_mod_pango.c @@ -0,0 +1,58 @@ +/* + * kmscon - Pango font backend module + * + * Copyright (c) 2011-2013 David Herrmann + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files + * (the "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY + * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, + * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE + * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ + +/* + * Pango font backend module + * This module registers the text-font pango backend with kmscon. + */ + +#include +#include +#include "kmscon_module_interface.h" +#include "log.h" +#include "text.h" + +#define LOG_SUBSYSTEM "mod_pango" + +static int kmscon_pango_load(void) +{ + int ret; + + kmscon_font_pango_ops.owner = KMSCON_THIS_MODULE; + ret = kmscon_font_register(&kmscon_font_pango_ops); + if (ret) { + log_error("cannot register pango font"); + return ret; + } + + return 0; +} + +static void kmscon_pango_unload(void) +{ + kmscon_font_unregister(kmscon_font_pango_ops.name); +} + +KMSCON_MODULE(NULL, kmscon_pango_load, kmscon_pango_unload, NULL); -- 2.7.4