-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmodule_management.go
More file actions
76 lines (47 loc) · 1.44 KB
/
module_management.go
File metadata and controls
76 lines (47 loc) · 1.44 KB
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
package freetype
import (
"fmt"
"modernc.org/libc"
"modernc.org/libfreetype"
)
// How to add, upgrade, remove, and control modules from FreeType.
// FT_Module
// FT_Module_Constructor
// FT_Module_Destructor
// FT_Module_Requester
// FT_Module_Class
// FT_Add_Module
// FT_Get_Module
// FT_Remove_Module
// FT_Add_Default_Modules
// FT_FACE_DRIVER_NAME
// Property_Sets set a property for a given module.
//
// https://freetype.org/freetype2/docs/reference/ft2-module_management.html#ft_property_set
func (lib Library) PropertySet(moduleName string, propertyName string, value uintptr) error {
cModuleName, err := libc.CString(moduleName)
if err != nil {
return fmt.Errorf("failed to set create C string for module name %s : %w", moduleName, err)
}
defer libc.Xfree(nil, cModuleName)
cPropertyName, err := libc.CString(propertyName)
if err != nil {
return fmt.Errorf("failed to set create C string for property name %s : %w", propertyName, err)
}
defer libc.Xfree(nil, cPropertyName)
err_ := libfreetype.XFT_Property_Set(lib.tls, lib.library, cModuleName, cPropertyName, value)
return newError(err_, "failed to set property %s for module %s", propertyName, moduleName)
}
// FT_Property_Get
// FT_Set_Default_Properties
// FT_New_Library
// FT_Done_Library
// FT_Reference_Library
// FT_Renderer
// FT_Renderer_Class
// FT_Get_Renderer
// FT_Set_Renderer
// FT_Set_Debug_Hook
// FT_Driver
// FT_DebugHook_Func
// FT_DEBUG_HOOK_XXX