maintainers: Update the Direct3D section.
[wine.git] / dlls / dwrite / unixlib.h
blob533c3168b99ce1d6a51956bc2720e0be205805b6
1 /*
2 * Copyright 2021 Nikolay Sivov for CodeWeavers
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
19 #include <stdarg.h>
20 #include "windef.h"
21 #include "winternl.h"
22 #include "dwrite.h"
23 #include "wine/unixlib.h"
25 struct create_font_object_params
27 const void *data;
28 UINT64 size;
29 unsigned int index;
30 UINT64 *object;
33 struct release_font_object_params
35 UINT64 object;
38 struct get_glyph_outline_params
40 UINT64 object;
41 unsigned int simulations;
42 unsigned int glyph;
43 float emsize;
44 struct dwrite_outline *outline;
47 struct get_glyph_count_params
49 UINT64 object;
50 unsigned int *count;
53 struct get_glyph_advance_params
55 UINT64 object;
56 unsigned int glyph;
57 unsigned int mode;
58 float emsize;
59 int *advance;
60 unsigned int *has_contours;
63 struct get_glyph_bbox_params
65 UINT64 object;
66 unsigned int simulations;
67 unsigned int glyph;
68 float emsize;
69 DWRITE_MATRIX m;
70 RECT *bbox;
73 struct get_glyph_bitmap_params
75 UINT64 object;
76 unsigned int simulations;
77 unsigned int glyph;
78 unsigned int mode;
79 float emsize;
80 DWRITE_MATRIX m;
81 RECT bbox;
82 int pitch;
83 BYTE *bitmap;
84 unsigned int *is_1bpp;
87 struct get_design_glyph_metrics_params
89 UINT64 object;
90 unsigned int simulations;
91 unsigned int glyph;
92 unsigned int upem;
93 unsigned int ascent;
94 DWRITE_GLYPH_METRICS *metrics;
97 enum font_backend_funcs
99 unix_process_attach,
100 unix_process_detach,
101 unix_create_font_object,
102 unix_release_font_object,
103 unix_get_glyph_outline,
104 unix_get_glyph_count,
105 unix_get_glyph_advance,
106 unix_get_glyph_bbox,
107 unix_get_glyph_bitmap,
108 unix_get_design_glyph_metrics,
111 extern unixlib_handle_t unixlib_handle DECLSPEC_HIDDEN;
113 #define UNIX_CALL( func, params ) __wine_unix_call( unixlib_handle, unix_ ## func, params )