From e6fa020937d172f94a23fb94218d4b1d76e89a28 Mon Sep 17 00:00:00 2001 From: David Herrmann Date: Thu, 3 Jan 2013 17:03:31 +0100 Subject: [PATCH] text: remove old font definitions All font definitions have been moved to font.h so remove the old definitions and include font.h instead. Signed-off-by: David Herrmann --- src/kmscon_mod_pango.c | 2 +- src/text.h | 86 +----------------------------------------- 2 files changed, 3 insertions(+), 85 deletions(-) diff --git a/src/kmscon_mod_pango.c b/src/kmscon_mod_pango.c index fa79b5e..12a6ed2 100644 --- a/src/kmscon_mod_pango.c +++ b/src/kmscon_mod_pango.c @@ -30,9 +30,9 @@ #include #include +#include "font.h" #include "kmscon_module_interface.h" #include "log.h" -#include "text.h" #define LOG_SUBSYSTEM "mod_pango" diff --git a/src/text.h b/src/text.h index 3d4556f..74db25c 100644 --- a/src/text.h +++ b/src/text.h @@ -1,7 +1,7 @@ /* * kmscon - Text Renderer * - * Copyright (c) 2012 David Herrmann + * Copyright (c) 2012-2013 David Herrmann * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files @@ -28,11 +28,6 @@ * The Text-Renderer subsystem provides a simple way to draw text into a * framebuffer. The system is modular and several different backends are * available that can be used. - * The system is split into: - * - Font renderer: The font renderer allows selecting fonts and rendering - * single glyphs into memory-buffers - * - Text renderer: The text renderer uses the font renderer to draw a whole - * console into a framebuffer. */ #ifndef KMSCON_TEXT_H @@ -40,82 +35,10 @@ #include #include -#include "kmscon_module.h" +#include "font.h" #include "tsm_screen.h" #include "uterm.h" -/* fonts */ - -struct kmscon_font_attr; -struct kmscon_glyph; -struct kmscon_font; -struct kmscon_font_ops; - -#define KMSCON_FONT_MAX_NAME 128 -#define KMSCON_FONT_DEFAULT_NAME "monospace" -#define KMSCON_FONT_DEFAULT_PPI 72 - -struct kmscon_font_attr { - char name[KMSCON_FONT_MAX_NAME]; - unsigned int ppi; - unsigned int points; - bool bold; - bool italic; - unsigned int height; - unsigned int width; -}; - -void kmscon_font_attr_normalize(struct kmscon_font_attr *attr); -bool kmscon_font_attr_match(const struct kmscon_font_attr *a1, - const struct kmscon_font_attr *a2); - -struct kmscon_glyph { - struct uterm_video_buffer buf; - unsigned int width; - void *data; -}; - -struct kmscon_font { - unsigned long ref; - struct shl_register_record *record; - const struct kmscon_font_ops *ops; - struct kmscon_font_attr attr; - unsigned int baseline; - void *data; -}; - -struct kmscon_font_ops { - const char *name; - struct kmscon_module *owner; - int (*init) (struct kmscon_font *out, - const struct kmscon_font_attr *attr); - void (*destroy) (struct kmscon_font *font); - int (*render) (struct kmscon_font *font, - uint32_t id, const uint32_t *ch, size_t len, - const struct kmscon_glyph **out); - int (*render_empty) (struct kmscon_font *font, - const struct kmscon_glyph **out); - int (*render_inval) (struct kmscon_font *font, - const struct kmscon_glyph **out); -}; - -int kmscon_font_register(const struct kmscon_font_ops *ops); -void kmscon_font_unregister(const char *name); - -int kmscon_font_find(struct kmscon_font **out, - const struct kmscon_font_attr *attr, - const char *backend); -void kmscon_font_ref(struct kmscon_font *font); -void kmscon_font_unref(struct kmscon_font *font); - -int kmscon_font_render(struct kmscon_font *font, - uint32_t id, const uint32_t *ch, size_t len, - const struct kmscon_glyph **out); -int kmscon_font_render_empty(struct kmscon_font *font, - const struct kmscon_glyph **out); -int kmscon_font_render_inval(struct kmscon_font *font, - const struct kmscon_glyph **out); - /* text renderer */ struct kmscon_text; @@ -185,11 +108,6 @@ int kmscon_text_render_cb(struct tsm_screen *con, void *data); /* modularized backends */ -extern struct kmscon_font_ops kmscon_font_8x16_ops; -extern struct kmscon_font_ops kmscon_font_unifont_ops; -extern struct kmscon_font_ops kmscon_font_freetype2_ops; -extern struct kmscon_font_ops kmscon_font_pango_ops; - #ifdef BUILD_ENABLE_RENDERER_BBLIT int kmscon_text_bblit_load(void);