return 0;
}
- kmscon_font_load_all();
+ kmscon_font_register(&kmscon_font_8x16_ops);
kmscon_text_load_all();
memset(&app, 0, sizeof(app));
destroy_app(&app);
err_unload:
kmscon_text_unload_all();
- kmscon_font_unload_all();
+ kmscon_font_unregister(kmscon_font_8x16_ops.name);
err_conf:
kmscon_conf_free(conf_ctx);
err_out:
/* modularized backends */
-int kmscon_font_8x16_load(void);
-void kmscon_font_8x16_unload(void);
-
-#ifdef BUILD_ENABLE_FONT_UNIFONT
-
-int kmscon_font_unifont_load(void);
-void kmscon_font_unifont_unload(void);
-
-#else
-
-static inline int kmscon_font_unifont_load(void)
-{
- return -EOPNOTSUPP;
-}
-
-static inline void kmscon_font_unifont_unload(void)
-{
-}
-
-#endif
-
-#ifdef BUILD_ENABLE_FONT_FREETYPE2
-
-int kmscon_font_freetype2_load(void);
-void kmscon_font_freetype2_unload(void);
-
-#else
-
-static inline int kmscon_font_freetype2_load(void)
-{
- return -EOPNOTSUPP;
-}
-
-static inline void kmscon_font_freetype2_unload(void)
-{
-}
-
-#endif
-
-#ifdef BUILD_ENABLE_FONT_PANGO
-
-int kmscon_font_pango_load(void);
-void kmscon_font_pango_unload(void);
-
-#else
-
-static inline int kmscon_font_pango_load(void)
-{
- return -EOPNOTSUPP;
-}
-
-static inline void kmscon_font_pango_unload(void)
-{
-}
-
-#endif
+extern const struct kmscon_font_ops kmscon_font_8x16_ops;
+extern const struct kmscon_font_ops kmscon_font_unifont_ops;
+extern const struct kmscon_font_ops kmscon_font_freetype2_ops;
+extern const struct kmscon_font_ops kmscon_font_pango_ops;
#ifdef BUILD_ENABLE_RENDERER_BBLIT
#endif
-static inline void kmscon_font_load_all(void)
-{
- kmscon_font_8x16_load();
- kmscon_font_unifont_load();
- kmscon_font_pango_load();
- kmscon_font_freetype2_load();
-}
-
-static inline void kmscon_font_unload_all(void)
-{
- kmscon_font_freetype2_unload();
- kmscon_font_pango_unload();
- kmscon_font_unifont_unload();
- kmscon_font_8x16_unload();
-}
-
static inline void kmscon_text_load_all(void)
{
kmscon_text_bbulk_load();
return 0;
}
-static const struct kmscon_font_ops kmscon_font_8x16_ops = {
+const struct kmscon_font_ops kmscon_font_8x16_ops = {
.name = "8x16",
.init = kmscon_font_8x16_init,
.destroy = kmscon_font_8x16_destroy,
.render_inval = kmscon_font_8x16_render_inval,
};
-int kmscon_font_8x16_load(void)
-{
- int ret;
-
- ret = kmscon_font_register(&kmscon_font_8x16_ops);
- if (ret) {
- log_error("cannot register 8x16 font");
- return ret;
- }
-
- return 0;
-}
-
-void kmscon_font_8x16_unload(void)
-{
- kmscon_font_unregister(kmscon_font_8x16_ops.name);
-}
-
static const struct kmscon_glyph kmscon_font_8x16_glyphs[256] = {
{ /* 0 0x00 */
.width = 1,
return 0;
}
-static const struct kmscon_font_ops kmscon_font_freetype2_ops = {
+const struct kmscon_font_ops kmscon_font_freetype2_ops = {
.name = "freetype2",
.init = kmscon_font_freetype2_init,
.destroy = kmscon_font_freetype2_destroy,
.render_empty = kmscon_font_freetype2_render_empty,
.render_inval = kmscon_font_freetype2_render_inval,
};
-
-int kmscon_font_freetype2_load(void)
-{
- int ret;
-
- ret = kmscon_font_register(&kmscon_font_freetype2_ops);
- if (ret) {
- log_error("cannot register freetype2 font");
- return ret;
- }
-
- return 0;
-}
-
-void kmscon_font_freetype2_unload(void)
-{
- kmscon_font_unregister(kmscon_font_freetype2_ops.name);
-}
out);
}
-static const struct kmscon_font_ops kmscon_font_pango_ops = {
+const struct kmscon_font_ops kmscon_font_pango_ops = {
.name = "pango",
.init = kmscon_font_pango_init,
.destroy = kmscon_font_pango_destroy,
.render_empty = kmscon_font_pango_render_empty,
.render_inval = kmscon_font_pango_render_inval,
};
-
-int kmscon_font_pango_load(void)
-{
- int ret;
-
- ret = kmscon_font_register(&kmscon_font_pango_ops);
- if (ret) {
- log_error("cannot register pango font");
- return ret;
- }
-
- return 0;
-}
-
-void kmscon_font_pango_unload(void)
-{
- kmscon_font_unregister(kmscon_font_pango_ops.name);
-}
}
}
-static const struct kmscon_font_ops kmscon_font_unifont_ops = {
+const struct kmscon_font_ops kmscon_font_unifont_ops = {
.name = "unifont",
.init = kmscon_font_unifont_init,
.destroy = kmscon_font_unifont_destroy,
.render_empty = kmscon_font_unifont_render_empty,
.render_inval = kmscon_font_unifont_render_inval,
};
-
-int kmscon_font_unifont_load(void)
-{
- int ret;
-
- ret = kmscon_font_register(&kmscon_font_unifont_ops);
- if (ret) {
- log_error("cannot register unifont font");
- return ret;
- }
-
- return 0;
-}
-
-void kmscon_font_unifont_unload(void)
-{
- kmscon_font_unregister(kmscon_font_unifont_ops.name);
-}
log_print_init("wlterm");
- kmscon_font_load_all();
+ kmscon_font_register(&kmscon_font_8x16_ops);
memset(&app, 0, sizeof(app));
ret = setup_app(&app);
ev_eloop_run(app.eloop, -1);
destroy_app(&app);
- kmscon_font_unload_all();
+ kmscon_font_unregister(kmscon_font_8x16_ops.name);
conf_ctx_free(conf);
log_info("exiting");
return EXIT_SUCCESS;
err_unload:
- kmscon_font_unload_all();
+ kmscon_font_unregister(kmscon_font_8x16_ops.name);
err_conf:
conf_ctx_free(conf);
err_out: