File: ui_font_manager.h

package info (click to toggle)
mlterm 3.9.4-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 25,340 kB
  • sloc: ansic: 154,713; sh: 5,302; cpp: 2,953; objc: 2,776; java: 2,472; makefile: 2,445; perl: 1,674; xml: 44
file content (82 lines) | stat: -rw-r--r-- 2,757 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */

#ifndef __UI_FONT_MANAGER_H__
#define __UI_FONT_MANAGER_H__

#include "ui.h"

#include <pobl/bl_types.h>
#include <vt_char_encoding.h>

#include "ui_font_cache.h"

typedef struct ui_font_manager {
  ui_font_cache_t *font_cache;

  ui_font_config_t *font_config;

  u_int8_t step_in_changing_font_size;
  int8_t use_bold_font;
  int8_t use_italic_font;
  int8_t size_attr;
#ifdef USE_OT_LAYOUT
  int8_t use_ot_layout;
#endif

} ui_font_manager_t;

int ui_set_font_size_range(u_int min_font_size, u_int max_font_size);

ui_font_manager_t *ui_font_manager_new(Display *display, ui_type_engine_t type_engine,
                                       ui_font_present_t font_present, u_int font_size,
                                       ef_charset_t usascii_font_cs,
                                       u_int step_in_changing_font_size, int letter_space,
                                       int use_bold_font, int use_italic_font);

void ui_font_manager_destroy(ui_font_manager_t *font_man);

void ui_font_manager_set_attr(ui_font_manager_t *font_man, int size_attr, int use_ot_layout);

ui_font_t *ui_get_font(ui_font_manager_t *font_man, vt_font_t font);

#define ui_get_usascii_font(font_man) ((font_man)->font_cache->usascii_font)

int ui_font_manager_usascii_font_cs_changed(ui_font_manager_t *font_man,
                                            ef_charset_t usascii_font_cs);

int ui_change_font_present(ui_font_manager_t *font_man, ui_type_engine_t type_engine,
                           ui_font_present_t font_present);

ui_type_engine_t ui_get_type_engine(ui_font_manager_t *font_man);

ui_font_present_t ui_get_font_present(ui_font_manager_t *font_man);

int ui_change_font_size(ui_font_manager_t *font_man, u_int font_size);

int ui_larger_font(ui_font_manager_t *font_man);

int ui_smaller_font(ui_font_manager_t *font_man);

u_int ui_get_font_size(ui_font_manager_t *font_man);

int ui_set_letter_space(ui_font_manager_t *font_man, int letter_space);

#define ui_get_letter_space(font_man) ((font_man)->font_cache->letter_space)

int ui_set_use_bold_font(ui_font_manager_t *font_man, int use_bold_font);

#define ui_is_using_bold_font(font_man) ((font_man)->use_bold_font)

int ui_set_use_italic_font(ui_font_manager_t *font_man, int use_italic_font);

#define ui_is_using_italic_font(font_man) ((font_man)->use_italic_font)

#define ui_get_fontset(font_man) ui_font_cache_get_fontset((font_man)->font_cache)

#define ui_get_current_usascii_font_cs(font_man) ((font_man)->font_cache->usascii_font_cs)

ef_charset_t ui_get_usascii_font_cs(vt_char_encoding_t encoding);

#define ui_font_manager_dump_font_config(font_man) ui_font_config_dump((font_man)->font_config)

#endif