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 <dh.herrmann@googlemail.com>
This commit is contained in:
David Herrmann 2013-01-03 17:03:31 +01:00
parent e97c71fea1
commit e6fa020937
2 changed files with 3 additions and 85 deletions

View File

@ -30,9 +30,9 @@
#include <errno.h>
#include <stdlib.h>
#include "font.h"
#include "kmscon_module_interface.h"
#include "log.h"
#include "text.h"
#define LOG_SUBSYSTEM "mod_pango"

View File

@ -1,7 +1,7 @@
/*
* kmscon - Text Renderer
*
* Copyright (c) 2012 David Herrmann <dh.herrmann@googlemail.com>
* Copyright (c) 2012-2013 David Herrmann <dh.herrmann@googlemail.com>
*
* 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 <errno.h>
#include <stdlib.h>
#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);