NetSurf
gui_table.h
Go to the documentation of this file.
1/*
2 * Copyright 2014 Vincent Sanders <vince@netsurf-browser.org>
3 *
4 * This file is part of NetSurf, http://www.netsurf-browser.org/
5 *
6 * NetSurf is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; version 2 of the License.
9 *
10 * NetSurf is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License
16 * along with this program. If not, see <http://www.gnu.org/licenses/>.
17 */
18
19/**
20 * \file
21 * top level interface table.
22 *
23 * \note This should probably not be included directly but rather
24 * through netsurf.h or gui_internal.h
25 */
26
27#ifndef _NETSURF_DESKTOP_GUI_TABLE_H_
28#define _NETSURF_DESKTOP_GUI_TABLE_H_
29
30struct gui_misc_table;
31struct gui_window_table;
34struct gui_fetch_table;
35struct gui_file_table;
36struct gui_utf8_table;
37struct gui_search_table;
40struct gui_bitmap_table;
41struct gui_layout_table;
42
43/**
44 * NetSurf operation function table
45 *
46 * Function table implementing interface operations for the browser core.
47 */
49
50 /**
51 * Browser table.
52 *
53 * Provides miscellaneous browser functionality.
54 *
55 * The table is mandantory and must be provided.
56 */
58
59 /**
60 * Window table.
61 *
62 * Provides all operations which affect a frontends display window.
63 *
64 * The table is mandantory and must be provided.
65 */
67
68 /**
69 * Core window table.
70 *
71 * Provides all operations which affect core ui windows of a frontend.
72 *
73 * The table is optional and may be NULL which does nothing.
74 */
76
77 /**
78 * Download table.
79 *
80 * operations table for the download windows.
81 */
83
84 /**
85 * Clipboard table.
86 */
88
89 /**
90 * Fetcher table
91 *
92 * The table is mandantory and must be provided.
93 */
95
96 /**
97 * File table
98 *
99 * Provides file and filename operations to the core.
100 *
101 * The table is optional and may be NULL in which case the
102 * default posix compliant operations will be used.
103 */
105
106 /**
107 * UTF8 table.
108 *
109 * Provides for conversion between the gui local character
110 * encoding and utf8.
111 *
112 * The table optional and may be NULL which implies the local
113 * encoding is utf8.
114 */
116
117 /**
118 * Page search table.
119 *
120 * Provides routines for the interactive text search on a page.
121 */
123
124 /**
125 * Web search table.
126 *
127 * Used by the web search provider system.
128 *
129 * The table is optional and may be NULL which uses the
130 * default empty implementation.
131 */
133
134 /**
135 * Low level cache table.
136 *
137 * Used by the low level cache to push objects to persistant
138 * storage.
139 *
140 * The table is optional and may be NULL which uses the
141 * default implementation.
142 */
144
145 /**
146 * Bitmap table.
147 *
148 * Used by the image convertors as a generic interface to
149 * native platform-specific image formats.
150 *
151 * The table is mandantory and must be provided.
152 */
154
155 /**
156 * Layout table
157 *
158 * Used by the layout process to measure glyphs in a frontend
159 * specific manner.
160 *
161 * The table is mandantory and must be provided.
162 */
164};
165
166#endif
Core user interface window function table.
Definition: core_window.h:53
Bitmap operations.
Definition: bitmap.h:125
function table for clipboard operations.
Definition: clipboard.h:42
function table for download windows.
Definition: download.h:34
function table for fetcher operations.
Definition: fetch.h:33
/brief function table for file and filename operations.
Definition: file.h:50
low level cache backing store operation table
Definition: backing_store.h:44
Graphical user interface browser misc function table.
Definition: misc.h:39
function table for page text search.
Definition: search.h:31
Graphical user interface browser web search function table.
Definition: searchweb.h:34
User interface utf8 characterset conversion routines.
Definition: utf8.h:31
Graphical user interface window function table.
Definition: window.h:137
NetSurf operation function table.
Definition: gui_table.h:48
struct gui_misc_table * misc
Browser table.
Definition: gui_table.h:57
struct gui_file_table * file
File table.
Definition: gui_table.h:104
struct gui_search_table * search
Page search table.
Definition: gui_table.h:122
struct gui_clipboard_table * clipboard
Clipboard table.
Definition: gui_table.h:87
struct gui_fetch_table * fetch
Fetcher table.
Definition: gui_table.h:94
struct gui_llcache_table * llcache
Low level cache table.
Definition: gui_table.h:143
struct core_window_table * corewindow
Core window table.
Definition: gui_table.h:75
struct gui_search_web_table * search_web
Web search table.
Definition: gui_table.h:132
struct gui_window_table * window
Window table.
Definition: gui_table.h:66
struct gui_bitmap_table * bitmap
Bitmap table.
Definition: gui_table.h:153
struct gui_download_table * download
Download table.
Definition: gui_table.h:82
struct gui_layout_table * layout
Layout table.
Definition: gui_table.h:163
struct gui_utf8_table * utf8
UTF8 table.
Definition: gui_table.h:115